EasyUI combogrid/combobox过滤时限制只能选择现有项


var valChanged=false;
var selectRow=null;
//q_Item加载项目
function fillqItemCombogrid(qitemobj,unit,year,itemname)
{

qitemobj.combogrid({
onChange: function (newValue, oldValue) {

valChanged = true;//记录是否有改变(当手动输入时发生)
},
onHidePanel: function () {
var t = $(this).combogrid('getValue');
if (valChanged) {
if (selectRow == null || t != selectRow.id) {//没有选择或者选项不相等时清除内容
if(!(typeof(t) == "undefined")&&t!="")
{
$.messager.alert('提示','请选择,不要直接输入');
}
$(this).combogrid('setValue', '');

} else {
//do something...
}
}
valChanged = false;
selectRow = null;
},
onSelect: function (index, row) {
selectRow = row;
},


 上面方式在赋值时判断不了,下面方式

$('#areaGuid').combogrid({
       panelWidth: 300,
       idField: 'guid',
       textField: 'name',
       mode: 'remote',
       method: 'post',
       fitColumns: true,
       url: dourl + 'refreshArea.do',
       onHidePanel: function () {
           var _temp_SelectRow = $(this).combogrid("grid").datagrid('getSelected');
           var _var_Combgrid_SelectValue = $(this).combogrid('getValue');
           if (!_temp_SelectRow || _var_Combgrid_SelectValue != _temp_SelectRow.guid) {//没有选择或者选项不相等时清除内容
               $(this).combogrid('setValue', '');
           }
       },
       onShowPanel: function () {
           $(this).combogrid("grid").datagrid("reload", {q: ''});
       },
       columns: [[
           {field: 'code', title: 'Code',  60},
           {field: 'name', title: 'Name',  100}
       ]]
   });
原文地址:https://www.cnblogs.com/zhaogaojian/p/8051502.html