这里用的方法是一个不可编辑的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. random 随机生成字符串

    # import random# for x in range(10):# i = 0# l = []# while i < 10:# ret = chr(random.randint(33, ...

  2. javascript显示年月日时间代码显示电脑时间

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. [Flex] 组件Tree系列 —— 利用firstVisibleItem属性,设置或取得第一个显示节点

    mxml: <?xml version="1.0" encoding="utf-8"?> <!--功能描述: 利用firstVisibleIt ...

  4. myeclipse部署项目到tomcat-custom_location 方式

    在想要部署的路径下:1.新建一个在tomcat--->server.xml文件夹下设置的文件名 2.在新建的文件夹下新建一个  ROOT文件夹, 3.在myeclipse里面吧项目部署到 ROO ...

  5. XPath语法使用的一些心得

    XPath语法还是很强大的,支持一些函数和操作符,方便操作,但是因为版本的原因可能有的函数只能在XPath2(2007)里使用,而不能在XPath1(1999)中使用,比如函数 ends-with(s ...

  6. Flink学习笔记:Operators串烧

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

  7. css ie浏览器兼容问题

    第一,IE6,不支持小于12px的盒子,任何小于12px的盒子,在IE6中看都大 解决办法很简单,就是将盒子的字号,设置小(小于盒子的高),比如0px. 1 height: 4px; 2 _font- ...

  8. Kettle 行列互换之——行转列(多列数据合并成一列变为多行)

    原始需求如下: 业务系统设置成这样,见截图. 工资项目为了方便录入,都是做成列的. 但是这些数据需要和另外的费用报销系统的数据关联,费用报销系统的费用项目是横向的,用费用项目.金额的多行来表达.那么这 ...

  9. 大数据-hadoop HA集群搭建

    一.安装hadoop.HA及配置journalnode 实现namenode HA 实现resourcemanager HA namenode节点之间通过journalnode同步元数据 首先下载需要 ...

  10. 批量自动化生成PDF目录标签

    所需软件: 1. FreePic2Pdf(网上很容易找到) 2. python3 3. 天若OCR 链接:https://pan.baidu.com/s/1B9dUr3gc0pv0BSHo5QYGsQ ...