##小计一下,备查:
combobox默认初始化,数据多时就会出现卡顿的现象(1800多条的下拉确实有点多)。搜索中文不及时,下拉面板始终有延迟。
三种解决思路:
1、网上有一种思路:就是修改easyui 原文件combobox部分(这个与版本还有关系 反正我是pass)https://blog.csdn.net/d1208/article/details/49001693 (要改的可以看这个);
2、自己重写个插件...
3、通过改变控件处理事件:加入input事件(我采用的):代码如下:
$.ajax({ url:basePath + "gzgl/manage/json/ylbcbmc", type:"post", success:function(d){ $(".search input[name='cbmcList']").data("list",d); var dd = []; for(var i in d){ if(i <= 30){ dd.push(d[i]); } } $(".search input[name='cbmc']").combobox({ valueField:"id", width:"200px", data:dd, onBeforeLoad:function(){ var $this = $(this); $this.parent().children().find(".textbox-text").bind("input",function(){ var v = $(this).val(); $this.parent().children().find(".textbox-value").val(v); var lists = $(".search input[name='cbmcList']").data("list"); var m = 0; var dd = []; for(var i in lists){ var re = new RegExp(v); if(re.test(lists[i].id) && m <= 30){ dd.push(lists[i]); m++; } } $this.combobox("loadData",dd); var tb = $this.combobox("panel"); tb.find("div").addClass("show"); }); } //url: basePath + "gzgl/manage/json/ylbcbmc" }); } });
最后处理目标:下拉条数减少,只支持30条;支持中文实时匹配了。