EasyUI的combobox下拉框是一个不错的功能,不但支持了下拉框本身的功能,还附带了模糊查询的功能,虽然只能是ABC*这种前置模式。
另外,如果输入的文字和下拉框中的某一条选项完全相同,而且只有一条选项相同时(注意,这里不能是模糊的,必须完全一致),该条选项将被默认选中。
这种输入文字的下拉框带来方便的同时也会带来问题:即使输入的文字和下拉框里可选的选项不符,也可以被提交。这一点比较离谱。
可以用以下方法对输入的值进行校验,看是否在下拉框中存在,方法的参数是下拉框的id:
//校验Combobox输入的文字是否包含在下拉框中,true代表包含,false代表不包含
function checkComboBoxValue(id){
var value=$("#"+id).combobox('getValue');
var valueField = $("#"+id).combobox("options").valueField;
var allData = $("#"+id).combobox("getData");
var result = false;
for (var i = 0; i < allData.length; i++) {
if (value == allData[i][valueField]) {
result = true;
break;
}
}
return result;
}
以上