`

带复选框且支持搜索功能的下拉列表11

阅读更多
doQuery : function(q, forceAll)
    {
        if (q === undefined || q === null)
        {            q = '';        }
        var qe = {
            query: q,
            forceAll: forceAll,
            combo: this,
            cancel:false
        };
        if (this.fireEvent('beforequery', qe) === false || qe.cancel){
            return false;
        }
        q = qe.query;
        forceAll = qe.forceAll;        
        if (forceAll === true || (q.length >= this.minChars)){
            if (this.lastQuery !== q){
                this.lastQuery = q;
                if (this.mode == 'local'){
                    this.selectedIndex = -1;
                    //forceAll为true指的是单击下拉框
                    if (forceAll){
                    	//清除过滤条件
                        this.store.clearFilter();
                        for(var i = 0; i < this.store.getCount(); i++){
                        	//store里头存在等于全选的一项,把flag置为false,且跳出循环
                            if("全选" == this.store.getAt(i).get('name')){
	                            rec = this.store.getAt(i);
	                            this.store.remove(this.store.getAt(i));
                            }
                        }
                        //如果recor不为空,并且store里存在元素,并且isExitsAll为真
                        //就往store里插入一项为全选的record的记录
                        if(rec !== undefined && rec !== null 
                            && this.store.getCount() > 0){
                            this.store.insert(0,rec);
                        }
                    }
                    //为false指的是键盘输入
                    else{
                    	//combobox中输入的值是否和store中的相匹配
                    	var rec_flag = false;                    	
                	    if(this.store.getCount()==0){
                	    	rec_flag = true;
                	    }
                	    //循环判断store中是否存在等于全选的记录,如果存在就把这一项移除掉
                	    //并且把rec_flag置为true
                	    for(var i = 0; i < this.store.getCount(); i++){
                            if("全选" == this.store.getAt(i).get('name')){
                            	rec = this.store.getAt(i);
                            	//移除存在等于全选的记录
	                            this.store.remove(this.store.getAt(i));
	                            rec_flag = true;
                            }
                        }
                        //根据在combobox中输入的值在store进行筛选
                    	this.store.filter(this.displayField, q);                    	
                        if(rec !== undefined && rec !== null && rec_flag){
                        	//store中的记录大于0就往store里头插入全选这一项纪录
                        	if(this.store.getCount()>0){
                        	    this.store.insert(0,rec);
                        	}
                        }
                    }
                    this.onLoad();
                }
                else{
                    this.store.baseParams[this.queryParam] = q;
                    this.store.load({
                        params: this.getParams(q)
                    });
                    this.expand();
                }
            }
            else{
                this.selectedIndex = -1;
                this.onLoad();
            }
        }
    },
分享到:
评论

相关推荐

    带复选框且支持搜索功能的下拉列表1(1--14)

    NULL 博文链接:https://dengli19881102.iteye.com/blog/910298

    flutter_smart_select:SmartSelect允许您使用各种选择输入(例如单选,复选框,开关,芯片或什至自定义输入)轻松地将通常的表单选择或下拉列表转换为动态页面,弹出对话框或滑动底页。 支持单选和多选

    SmartSelect允许您使用各种选择输入(例如单选,复选框,开关,芯片或什至自定义输入)轻松地将通常的表单选择或下拉列表转换为动态页面,弹出对话框或滑动底页。 支持单选和多选。 受到Smart Select组件的启发。 4....

    功能测试用例大全1500条

    复选框 9 滚动条 9 通过测试: 返回目录 9 失败测试: 10 登陆 10 添加 10 删除 10 查询 返回目录 11 翻页控件 12 树控件的测试外观操作返回目录 12 命令按钮 返回目录 13 一、各种控件在窗体中混和使用时的测试 13 ...

    多媒体教室

    推荐配置:CPU Celeron 400 以上,内存 64M,显卡 2M 显存,声卡全双工并带输出回录功能(能录制自身播放的 WAV 文件)。 学生机: 最低配置:CPU Pentium 133 以上,内存 16M 以上,显卡 1M 显存以上,声卡全双工。 ...

    原型设计,axure9最全组件库

    2.注册组件(性别选择,复选框,单选框,下拉列表,民族选择等) 3.抽屉菜单,导航菜单,搜索,分页条,滑块,进度条,走马灯,评星,验证码,日历,时间设置,选中统计,图片轮播,漂浮广告,喜欢,点赞,抽奖转盘...

    mui-drip-table:使用material-ui的完整堆栈表组件

    -使用material-ui的完整堆栈表组件- 安装 ・包体 npm install mui-drip-table -依赖包 npm install @material-ui/core @... 3种类型的“复选框”,“下拉列表”,“多选” textLabels 目的 指定标签。细节 pagination

    mui-drip-table_dev:开发环境

    多滴桌使用material-ui的完整堆栈表组件安装・包装体npm install mui-drip-table-依赖包npm install @material-ui/core @... 3种类型的“复选框”,“下拉列表”,“多选” textLabels 目的指定标签。细节paginat

    JQuery&CSS;&CSS;+DIV实例大全.rar

    一款美化表单下拉列表、复选框等的jquery combobox插件实例 30.站长必备jquery实现combox自动筛选,高亮显示功能 4)菜单 1.jquery+CSS超炫丽横向多级滑动导航菜单 2.jQuery+CSS漂亮蓝色三级菜单下载 3....

    MAPGIS地质制图工具

    2、把等高线和地质区文件设为当前编辑文件状态:即点击勾选文件名前的复选框! 3、选择菜单剖面图-读取地形数据(现有3种方式,此选拉线读取),沿着勘探线从开始处拉线到末端出现设置基本数据对话框(如下图),...

    报名系统,在线预约系统,万能表单系统

    复选框 下拉选择框 多级联动下拉选择框 日期时间选择器 颜色选择器 图片和文件上传 省市区选择器 56个民族选择器 分页按钮 文字分隔线 文字说明 =============================证件打印模板====================== ...

    人力资源管理软件(完全免费)

    人力资源管理软件功能介绍 本人力资源软件包含人事档案管理 本人力资源软件包含工资管理 本人力资源软件包含考勤管理 本人力资源软件包含绩效管理 本人力资源软件包含用户管理 本人力资源软件软件界面美观,...

    第7章 数据绑定控件

    实例202 GridView复选框绑定列设置商品 是否上架 320 实例203 使用主题来设置GridView控件的外观 322 7.3 GridView控件72般绝技 323 实例204 实现搜索GridView多个关键字高亮 显示 323 实例205 高亮显示数据行并...

Global site tag (gtag.js) - Google Analytics