问题:combobox下拉模糊匹配回车事件,匹配不上时会自动清空数据的问题如何解决?
如何做到匹配不上回车事件不清空数据,仅关闭下拉框?
$('#id').combobox({
prompt:'',
required:false,
mode:'remote',
url:'/project/textSearchKey.do',
valueField: 'label',
textField: 'text',
editable:true,
hasDownArrow:false,
onBeforeLoad: function(param){
console.log(param);
if(param == null || param.q == null || param.q.replace(/ /g, '') == ''){
var value = $(this).combobox('getValue');
if(value){// 修改的时候才会出现q为空而value不为空
param.id = value;
return true;
}
return false;
}
}
});
解决方案:需要修改jquery.easyui.min.js源码,
找到大约13512行,添加红色一行即可,目的:回车时,仅隐藏下拉面板,不做清空操作。
定位方法 搜索 case 13 可快速定位
break;
case 37:
opts.keyHandler.left.call(_a1f,e);
break;
case 39:
opts.keyHandler.right.call(_a1f,e);
break;
case 13:
e.preventDefault();
console.log("隐藏面板");t.combo("hidePanel");break;//回车事件时,不清空。仅关闭下拉面板
opts.keyHandler.enter.call(_a1f,e);
return false;
case 9:
case 27:
_a18(_a1f);
break;
default: