EasyUI 另类的方法实现自定义表格静态数据的过滤

EasyUI 另类的方法实现自定义表格静态数据的过滤

图中
红色框是使用datagrid-filter.js插件过滤,产品觉得很丑.
绿色框是我要加的功能,目的是对科目名称中模糊匹配

在这里插入图片描述

经过观察datagrid-filter.js源码实现以框的功能
代码如下:

// html
	// 搜索框
	科目筛选:<input id="filterKmName" name="kmName" class="textbox">
	//表格数据经ajax接口返回数据生成.
	<div title="PL合并抵消科目余额表" style="padding:5px 0px 0px 0px">
		<table id="dataList4"></table>
	</div>
// js 
	$.ajax({
       url: '/report/xxxx',
       dataType: 'json',
       //xxxx略..
       success: function (data) {
           if (data) {
           	//xxxx略..
           	// 启动过滤器,会出现图中红色区域的输入框
            $('#dataList4').datagrid('enableFilter')
            // 随后我们把他隐藏起来.
            $('.datagrid-filter-row').css('display', 'none')
           }
       },
	// itemDispNm 要过滤的列名.column对应的属性名
	$(function () {
	   $('#filterKmName').unbind('.filter').bind('keydown.filter', function (e) {
	       if (this.timer) {
	           clearTimeout(this.timer);
	       }
	       this.timer = setTimeout(function () {
           var value = $("#filterKmName").val();
           if (value != '') {
           		// 这步操作实际上是给红色区域隐藏的框框中赋值而已..
               $("#dataList4")['datagrid']('addFilterRule', {
                   field: 'itemDispNm',
                   op: 'contains',
                   value: value
               });
               $("#dataList4")['datagrid']('doFilter');
           }else{
               $("#dataList4")['datagrid']('removeFilterRule', 'itemDispNm');
               $("#dataList4")['datagrid']('doFilter');
           }
       }, 1000);
   });
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值