全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

easyui combogrid实现本地模糊搜索过滤多列

这几天在项目中前台使用到了easyui 的 combogrid插件为用户提供点选数据项的功能。由于数据项的内容可能有很多,所以仅仅是点选还不够,需要能够对用户的输入进行过滤,即根据用户的输入将某一列与用户输入匹配的数据项筛选保留下来。

实现这一功能需要以下几个步骤:

1.声明一个combogrid

<div class="fitem"> 
      <label>盘条基本信息编号:</label> 
      <input class="easyui-combogrid" type="text" id="addWireRodId" name="wireRodId" style="width: 150px" 
          data-options="required:true"></input> 
</div> 

2.js中请求combogrid需要加载的数据

var wireRod; 
    $.ajax({ 
      url: "../wireRod/getAll?rows=100000&sort=id&order=asc", 
      type: "post", 
      dataType: "json", 
      success: function (result) { 
        wireRod = result.wireRod.list; 
      } 
}); 

3.对combogrid进行配置

$("#addWireRodId").combogrid({ 
      idField:'id', 
      textField:'codeDesc', 
      remoteSort: false, 
      panelWidth: 360, 
      columns: [[ 
        {field: 'codeDesc', title: '盘条序号', sortable: true, width: 70}, 
        {field: 'code', title: '盘条编码'}, 
        {field: 'name', title: '盘条名称'}, 
        {field: 'specification', title: '盘条规格'}, 
      ]], 
      onSelect: function (index,row) { 
        //业务功能,不予展示 
      }, 
      onChange: function (q){ 
        doSearch(q,wireRod,['codeDesc','code','name','specification'],$(this)); 
      }, 
      onShowPanel:function () { 
          $(this).combogrid('grid').datagrid('loadData', wireRod); 
      } 
    }); 

4.doSearch方法

//q为用户输入,data为远程加载的全部数据项,searchList是需要进行模糊搜索的列名的数组,ele是combogrid对象 
//doSearch的思想其实就是,进入方法时将combogrid加载的数据清空,如果用户输入为空则加载全部的数据,输入不为空 
//则对每一个数据项做匹配,将匹配到的数据项加入rows数组,相当于重组数据项,只保留符合筛选条件的数据项, 
//如果筛选后没有数据,则combogrid加载空,有数据则重新加载重组的数据项 
function doSearch(q,data,searchList,ele){ 
    ele.combogrid('grid').datagrid('loadData', []); 
    if(q == ""){ 
      ele.combogrid('grid').datagrid('loadData', data); 
      return; 
    } 
    var rows = []; 
    $.each(data,function(i,obj){ 
      for(var p in searchList){ 
        var v = obj[searchList[p]]; 
        if (!!v && v.toString().indexOf(q) >= 0){ 
          rows.push(obj); 
          break; 
        } 
      } 
    }); 
    if(rows.length == 0){ 
      ele.combogrid('grid').datagrid('loadData', []); 
      return; 
    } 
    ele.combogrid('grid').datagrid('loadData', rows); 
  } 

combogrid有两种mode,local和remote,默认为local,其实remote mode也可以做多列模糊搜索,因为它会向后台发送一个包含叫做‘q'的参数的http请求以请求过滤后的数据,但是这样的不好在于,明明我们已经向后台请求过一次全部的数据,为什么还要再多次请求过滤的数据呢,服务器的负载会加重,所以这种事情能在前端做了就挺好

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# easyui  # combogrid搜索  # tree  # 模糊搜索  # jQuery EasyUI中DataGird动态生成列的方法  # EasyUI学习之Combobox下拉列表(1)  # EasyUI 数据表格datagrid列自适应内容宽度的实现  # Easyui Datagrid自定义按钮列(最后面的操作列)  # easyUI下拉列表点击事件使用方法  # EasyUI学习之Combobox级联下拉列表(2)  # EasyUI使用DataGrid实现动态列数据绑定  # jquery easyui如何实现格式化列  # jEasyUI 设置冻结列的实现示例  # 加载  # 盘条  # 点选  # 为空  # 这一  # 有很多  # 能在  # 仅仅是  # 这几天  # 用户提供  # 有两种  # 还不够  # 它会  # 挺好  # 时将  # 做多  # 要再  # 大家多多  # 清空  # 则对 


相关文章: 黑客如何利用漏洞与弱口令入侵网站服务器?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  如何快速生成ASP一键建站模板并优化安全性?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  如何注册花生壳免费域名并搭建个人网站?  如何做网站制作流程,*游戏网站怎么搭建?  如何高效配置香港服务器实现快速建站?  简历在线制作网站免费,免费下载个人简历的网站是哪些?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  平台云上自主建站:模板化设计与智能工具打造高效网站  Swift中循环语句中的转移语句 break 和 continue  学校为何禁止电信移动建设网站?  定制建站方案优化指南:企业官网开发与建站费用解析  高端智能建站公司优选:品牌定制与SEO优化一站式服务  如何选择高效便捷的WAP商城建站系统?  深圳网站制作的公司有哪些,dido官方网站?  智能起名网站制作软件有哪些,制作logo的软件?  Android使用GridView实现日历的简单功能  专业商城网站制作公司有哪些,pi商城官网是哪个?  金*站制作公司有哪些,金华教育集团官网?  招商网站制作流程,网站招商广告语?  如何选择适合PHP云建站的开源框架?  宝塔面板如何快速创建新站点?  如何彻底删除建站之星生成的Banner?  长沙做网站要多少钱,长沙国安网络怎么样?  网站制作价目表怎么做,珍爱网婚介费用多少?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  测试制作网站有哪些,测试性取向的权威测试或者网站?  如何快速生成橙子建站落地页链接?  如何快速搭建高效简练网站?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  建站主机SSH密钥生成步骤及常见问题解答?  高防服务器租用首荐平台,企业级优惠套餐快速部署  网站图片在线制作软件,怎么在图片上做链接?  建站主机服务器选型指南与性能优化方案解析  免费视频制作网站,更新又快又好的免费电影网站?  常州自助建站工具推荐:低成本搭建与模板选择技巧  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  如何高效利用亚马逊云主机搭建企业网站?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  淘宝制作网站有哪些,淘宝网官网主页?  建站之星伪静态规则如何正确配置?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  建站主机如何安装配置?新手必看操作指南  海南网站制作公司有哪些,海口网是哪家的?  建站与域名管理如何高效结合? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。