##小計一下,備查:
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條;支持中文實時匹配了。