##小计一下,备查:
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条;支持中文实时匹配了。