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');
        }
    }
  • 相关阅读:
    spectrogram函数做短时傅里叶分析
    (转) 经典功率谱估计及Matlab仿真
    matlab和C语言实现最小二乘法
    Matlab周期图法使用FFT实现
    vs配置SP++3.0
    VS2015调用matlab Plot函数
    elasticsearch配置文件解析
    elasticsearch.yml
    elasticsearch 动态映射
    elasticsearch _settings
  • 原文地址:https://www.cnblogs.com/xtreme/p/8961650.html
Copyright © 2011-2022 走看看