處理jqueryeasy ui combobox中文模糊搜尋及資料多處理
阿新 • • 發佈:2018-12-06
##小計一下,備查:
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條;支援中文實時匹配了。