这里用的方法是一个不可编辑的combogrid控件,覆盖上一个可输入的Input控件。

思路:

  1、初始时取到后台查询出的列表,存储到全局变量

  2、当输入框输入内容时,循环匹配列表,重新绑定到combogrid

HTML代码

<input id="receiveName" name="receiveName" class="easyui-combogrid" style="width:100%;" />
<input id="tempSearch" class="easy" type="text" style="width:70%;position: absolute;left: 108px;
top: 57px;border: none;outline:none" /> <!--显示已勾选记录-->
<textarea id="receiveList" name="receiveList" style="width:100%;height:50px;resize:none;"></textarea>

JS代码

var wireRod;    //定义全局变量存储查询出的列表
var url = "/XXX/XXX/XXX";
$.ajax({
url: url,
type: "get",
dataType: "json",
success: function (result) {
wireRod = result;
//绑定combogrid
$("#receiveName").combogrid('grid').datagrid('loadData', { rows: wireRod, total: wireRod.length });
}
}); //初始化combogrid
$('#receiveName').combogrid({
multiple: true,
editable: false,
idField: 'LoginName',
textField: 'Name',
fitColumns: true,
columns: [[
{ field: 'ck', checkbox: true },
{ field: 'LoginName', title: '登录名', width: 60 },
{ field: 'Name', title: '用户名称', width: 100 },
{ field: 'Description', title: '描述', width: 100 }
]],
onCheck: function (rowIndex, rowData) {
var list = $("#receiveList").val();
if (list.indexOf(rowData.LoginName) < 0) {
//将选中的项赋值到文本框中
$("#receiveList").val(list + rowData.LoginName + ";");
}
}
}); //模糊查询
$("#tempSearch").keyup(function () {
$('#receiveName').combogrid('showPanel');
var nowValue = this.value;
if (nowValue == "") {
$("#receiveName").combogrid('grid').datagrid('loadData', wireRod);
return;
}
var temprows = [];
$.each(wireRod, function (i, obj) {
if (obj.LoginName.indexOf(nowValue) >= 0 || obj.Name.indexOf(nowValue) >= 0)
temprows.push(obj);
});
$("#receiveName").combogrid('grid').datagrid('loadData', { rows: temprows, total: temprows.length });
});

最终效果图:

PS:easyui的combogrid中有个keyHandler属性,也能实现类似功能,不过,效果不怎么理想,具体用法可以参考:https://www.cnblogs.com/gx-java/p/6194330.html

实现easyui的combogrid模糊查询框的更多相关文章

  1. easyUI combobox combotree 模糊查询,带上下键选择功能,待完善。。。。

    /2017年4月9日 11:52:36 /** * combobox和combotree模糊查询 * combotree 结果带两级父节点(手动设置数量) * 键盘上下键选择叶子节点 * 键盘回车键设 ...

  2. easyui combobox 左匹配模糊查询

    之前一直不知道,easyui 的combobox还有从左匹配查询显示数据的. 样式是这样的:(这是数据是已经存在下拉列表里的) 在这样操作的时候,遇到了一个问题.(其实也不算问题的). 就是操作人员在 ...

  3. 【EasyUI】combotree和combobox模糊查询

    这里说的模糊查询指在输入框输入,然后自动在下拉框中显示匹配结果,类似Google搜索提示 EasyUI库已经实现了combobox的查询过滤功能,但只能从头匹配,原因是EasyUI库的代码限制: fi ...

  4. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(20)-多条件模糊查询和回收站还原的实现

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(20)-多条件模糊查询和回收站还原的实现 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架 ...

  5. easyui combobox模糊查询

    用easyui框架开发的攻城狮恐怕都遇到过这样一个问题,就是在新增页面combobox下拉框需要支持模糊查询,但是输入不是combobox中Data里面的值的时候,点击保存,依然是可以新增进去的,这样 ...

  6. Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中

    功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择 1.建立一aspx页面,html代码 <HTML> <HEAD> <title>We ...

  7. easyui combotree模糊查询

    技术交流QQ群:15129679 让EasyUI的combobox和combotree同时支持自定义模糊查询,在不更改其他代码的情况下,添加以下代码就行了: /** * combobox和combot ...

  8. 第二百二十四节,jQuery EasyUI,ComboGrid(数据表格下拉框)组件

    jQuery EasyUI,ComboGrid(数据表格下拉框)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 ComboGrid(数据表格下拉框)组件的 ...

  9. 为easyUI的dataGrid加入自己的查询框

    dataGrid作为easyUI的一个核心组件,其功能上是非常强大的. 可是外观上似乎就有点差强人意了,首先说一下我对dataGrid外观的2点感受 1.图标不好看,且尺寸非常小(16x16)-- 关 ...

随机推荐

  1. MongoDB集群搭建-分片

    MongoDB集群搭建-分片 一.场景: 1,机器的磁盘不够用了.使用分片解决磁盘空间的问题. 2,单个mongod已经不能满足写数据的性能要求.通过分片让写压力分散到各个分片上面,使用分片服务器自身 ...

  2. ng 发生 Error: ELOOP: too many symbolic links encountered...

    ng g component components/home 发生如下提示: 由于使用 cnpm install 安装 node_modules 导致这样. 解决办法: 删除 node_modules ...

  3. flink学习笔记:DataSream API

    本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...

  4. Navicat 连接腾讯云

    1.dos窗口下进入mysql,进行远程登录授权 (1)进行授权 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1 ...

  5. 记新人从 excel 文件中读取字典数据踩的一个坑

    原本是打算今天分享一下最近学习接口自动化的心得体会,然而在我写模板的时候,却被一个坑拦我大半天,心得体会不得不 延期再分享了.在我无数次调试无数次看log,终于发现并解决这个问题了.下面记录一下踩的坑 ...

  6. 洛谷 P3201 [HNOI2009]梦幻布丁(启发式合并)

    题面 luogu 题解 什么是启发式合并? 小的合并到大的上面 复杂度\(O(nlogn)\) 这题颜色的修改,即是两个序列的合并 考虑记录每个序列的\(size\) 小的合并到大的 存序列用链表 但 ...

  7. JavaSwing概述

    GUI(Graphic User Interface)为程序提供图形界面,它最初的设计目的是构建一个通用的GUI,使其能在所有平台上运行.在Java1.0中基础类AWT(Abstract Window ...

  8. Stack — 20181121

    12. Min Stack public class MinStack { Stack<Integer> stack; Stack<Integer> minStack; pub ...

  9. sublime text3 license & nodejs setting

    ----- BEGIN LICENSE ----- sgbteam Single User License EA7E-1153259 8891CBB9 F1513E4F 1A3405C1 A865D5 ...

  10. Python——数据交换格式简要

    简单数据交换格式 CSV: 一般用  open()  函数和字符串拆分  split()  方法,但python有内置的csv模块 读: import csv with open(r"C:\ ...