easyui中combobox 验证输入的值必须为选项框中的数据

来源:互联网 发布:mysql 查询最近一周 编辑:程序博客网 时间:2024/06/04 23:32

当作为提示框的方式时,combobox必须设置为允许用户输入的模式,但是当用户输入后未选择正确的数据就直接按tab或点击鼠标离开控件会导致用户输入无效的值并且通过验证,为了避免这种情况的发生我们需要对输入的值进行确认,输入不正确就清空用户的输入框以达到提示的效果

上代码:


  1. onHidePanel : function() {  
  2.     var _options = $(this).combobox('options');  
  3.     var _data = $(this).combobox('getData');/* 下拉框所有选项 */  
  4.     var _value = $(this).combobox('getValue');/* 用户输入的值 */  
  5.     var _b = false;/* 标识是否在下拉列表中找到了用户输入的字符 */  
  6.     for (var i = 0; i < _data.length; i++) {  
  7.         if (_data[i][_options.valueField] == _value) {  
  8.             _b=true;  
  9.             break;  
  10.         }  
  11.     }  
  12.     if(!_b){  
  13.         $(this).combobox('setValue''');  
  14.     }  
  15. },  

修改的js文件为\jquery.easyui.js,可以搜索到onHidePanel这个方法,上面是去匹配下拉值,如果我们用下面的代码去实现用显示值去匹配,就会出现选择选项的值会被清空的bug

onHidePanel: function () {    var _options = $(this).combobox('options');    var _data = $(this).combobox('getData');/* 下拉框所有选项 */    var _value = $(this).combobox('getValue');/* 用户输入的值 */    var _b = false;/* 标识是否在下拉列表中找到了用户输入的字符 */    for (var i = 0; i < _data.length; i++) {        if (_data[i][_options.textField] == _value) {            _b = true;            break;        }    }    if (!_b) {        $(this).combobox('setValue', '');    }


阅读全文
0 0
原创粉丝点击