码迷,mamicode.com
首页 > 其他好文 > 详细

easyui下拉框过滤优化

时间:2018-04-27 13:41:49      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:nbsp   脚本   res   blur   重置   状态   方式   uefi   clear   

项目中有个需求:编辑combobox的输入域会自动检索匹配项,当没有任何匹配项时,将combobox重置为初始状态。

处理方式:重写输入域的blur事件,判断当前值是否为加载的数据集的子集,如果不是则重置。

脚本如下:

$.fn.combobox.defaults.inputEvents.blur = function(e){
        var target = e.data.target;
        var opts = $(target).combobox(‘options‘);
        if (opts.reversed || opts.limitToList){
            if (opts.blurTimer){
                clearTimeout(opts.blurTimer);
            }
            opts.blurTimer = setTimeout(function(){
                var existing = $(target).parent().length;
                if (existing){
                    if (opts.reversed){
                        $(target).combobox(‘setValues‘, $(target).combobox(‘getValues‘));
                    } else if (opts.limitToList){
                        doEnter(target);
                    }
                    opts.blurTimer = null;
                }
            },50);
        }
    /* 过滤没有匹配项时,重置为初始状态 */
    var datas = $(target).combobox(‘getData‘);
    if (datas) {
      var has = false;
      datas.map(function(data){
        var text = data[opts.textField].trim(),
            val = data[opts.valueField],
            ctxt = $(target).combobox(‘getText‘).trim(),
            cVal = $(target).combobox(‘getValue‘);
        if(text == ctxt && val == cVal) has = true;
      });
      if(!has) $(target).combobox(‘reset‘);
    }
}

 

easyui下拉框过滤优化

标签:nbsp   脚本   res   blur   重置   状态   方式   uefi   clear   

原文地址:https://www.cnblogs.com/xtreme/p/8961650.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!