说明:easyui在使用combox,支持多选属性:multiple:true,并支持在输入框中搜索,但是输入的搜索值不会自动去掉
较笨的解决方式,利用onHidePanel函数,处理如下:
$("#Box").combobox({onHidePanel: function() {
var valueField = $(this).combobox("options").valueField;
var val = $(this).combobox("getValues"); //当前combobox的值
var allData = $(this).combobox("getData"); //获取combobox所有数据
var unSelect=[allData.length]
var currentValue=val.toString().split(",");//把选中的值及输入值分割为数组
for(var j=0;j<currentValue.length;j++){//循环选中的值和com中所有值进行比对,不存在的利用unselect清除
var result = true; //为true说明输入的值在下拉框数据中不存在
for (var i = 0; i < allData.length; i++) {
if (currentValue[j] == allData[i][valueField]) {
result = false;
}
}
if(result){//不存在
$(this).combobox('unselect', currentValue[j]);
}
}
}});
注意:这种情况在combox数据量少的情况是可行的,如果数据量较大,不建议使用,还是推荐改变源代码的方式