1、調整Combobox支持模糊查詢,並支持從任意位置開始匹配
解決方案:將字符串的indexof匹配由原來的判定為頭部匹配,改為包含匹配
return row[opts.textField].toLowerCase().indexOf(q.toLowerCase())==0;
修改為 return row[opts.textField].toLowerCase().indexOf(q.toLowerCase())>-1;
我用的是eaysUI 1.4版本,修改代碼在 jquery.easyui.min.js 中大概 12140 行左右。
2、調整Combobox,以支持搜索時中文輸入結束不自動觸發查詢
解決方案:將觸發查詢執行的引起事件由keydown改成 keyup
$.fn.combo.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{click:_8a2,keydown:_8a6,paste:_8a6,drop:_8a6},panelWidth:null,panelHeight:200,panelMinWidth:null,panelMaxWidth:null,panelMinHeight:null,panelMaxHeight:null,panelAlign:"left",multiple:false,selectOnNavigation:true,separator:",",hasDownArrow:true,delay:200,keyHandler:{up:function(e){
},down:function(e){
},left:function(e){
},right:function(e){
},enter:function(e){
},query:function(q,e){
}},onShowPanel:function(){
},onHidePanel:function(){
},onChange:function(_8d6,_8d7){
}});
修改為
$.fn.combo.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{click:_8a2,keyup:_8a6,paste:_8a6,drop:_8a6},panelWidth:null,panelHeight:200,panelMinWidth:null,panelMaxWidth:null,panelMinHeight:null,panelMaxHeight:null,panelAlign:"left",multiple:false,selectOnNavigation:true,separator:",",hasDownArrow:true,delay:200,keyHandler:{up:function(e){
},down:function(e){
},left:function(e){
},right:function(e){
},enter:function(e){
},query:function(q,e){
}},onShowPanel:function(){
},onHidePanel:function(){
},onChange:function(_8d6,_8d7){
}});
我用的是eaysUI 1.4版本,修改代碼在 jquery.easyui.min.js 中大概 11723 行左右。