zoukankan      html  css  js  c++  java
  • easyui下拉框过滤优化

    项目中有个需求:编辑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');
        }
    }
  • 相关阅读:
    UML——六大关系整理
    C#编写Windows 服务
    Centos7下lamp环境搭建的小笔记
    awk命令分析日志的简单笔记
    ssrf小记
    关于cookie的一些学习笔记
    xssbypass小记
    xss挑战赛小记 0x03(xssgame)
    xss挑战赛小记 0x01(xsstest)
    ubuntu下安装LAMP环境遇到的一些小问题
  • 原文地址:https://www.cnblogs.com/xtreme/p/8961650.html
Copyright © 2011-2022 走看看