jQuery实现C#CheckBoxList模糊搜索
前言
最近开发的一套系统中需要对商品进行管理,在选择商品时,要分别从品牌、型号、商品三个类别分别选择对应的选项才能找到需要的商品,三者的关系为:品牌包含型号,型号包含商品,因此使用了三个不同的 asp:CheckBoxList 控件进行开发。
但是在开发完成之后,发现当 CheckBoxList 中数据过多的时候,查找起来相当麻烦,因此考虑在控件外部加多一个 Textbox ,并且使用 jQuery 控制不包含关键字的元素隐藏起来。
开发思路
那么具体的思路是在 CheckBoxList 绑定数据之后,当 Textbox 中文本发生改变时,触发 jQuery 的 Properchange 事件,判断 CheckBoxList 中的元素是否包含所输入的值,如果包含,则设置为显示,如果不包含,则设置为隐藏。
实现方法
首先在页面上添加一个 TextBox 以及 CheckBoxList 控件,记得要加上 ClientIDMode="Static" ,这样子后面在 jQuery 中才能正确找到对应的控件。
<table class="table_r">
<tr>
<td valign="top" class="s_td">品牌:
<asp:TextBox ID="txtBrand" CssClass="inp_text" runat="server" ClientIDMode="Static"></asp:TextBox>
</td>
</tr>
<tr>
<td class="td_s" width="25%">
<div class="Marketer_list checkbox checkbox-primary">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:CheckBoxList ID="chlBrand" runat="server" ClientIDMode="Static">
</asp:CheckBoxList>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</td>
</tr>
</table>
在后台代码中对 ChlBrand 控件进行数据绑定。
protected void Page_Load(object sender, EventArgs e)
{
//Response.Cache.SetNoStore();
if (!IsPostBack)
{
this.InitData();
}
}
//页面初始化赋值
protected void InitData()
{
this.BindBrand();
}
//绑定品牌
private void BindBrand()
{
GoodsBrandBLL goodsBrandBLL = new GoodsBrandBLL();
IList<GoodsBrandModel> brandlist = goodsBrandBLL.SelectBrandAll().ToList();
chlBrand.DataSource = brandlist;
chlBrand.DataTextField = "BRANDNAME";
chlBrand.DataValueField = "BRANDID";
chlBrand.DataBind();
}
绑定完成之后运行代码,在浏览器中查看,会发现 CheckBoxList 中的每一个元素都由一对 tr 标签包含起来,因此我们可以通过 jQuery 选择器找到该 table 中的所有 tr 标签,判断是否包含关键字,并对 tr 标签进行隐藏、显示操作。
$(document).ready(function () {
//品牌模糊搜索
$("#txtBrand").bind('input propertychange', function () {
//获取 txtBrand 的值
var brand = $("#txtBrand").val();
$("#chlBrand tr:contains('" + brand + "')").show();
$("#chlBrand tr").not("tr:contains('" + brand + "')").hide();
});
});
以上就是对 CheckBoxList 中的元素进行关键字匹配并对他进行隐藏的操作,不知道大家看懂了没有,希望我的文章对你能有帮助。
总结
这次对 CheckBoxList 进行模糊搜索的操作花了一点点时间,自己本身也是基础不是很扎实,一开始其实就考虑了用 jQuery 来实现,但是碍于自己对于 jQuery 不是很熟悉,不知道具体怎么去实现,后来花了很大一部分时间在于思考如何在后台实现这个需求,那最后也是在同事的提醒下,熟悉了 jQuery 选择器的操作后,成功实现了。这让我感到在 .NET Framework 开发中,jQuery 是一种很有必要去掌握的技术,那么接下来会花时间在这部分的知识上面,希望能尽快精通,对工作带来更大的便利。
jQuery实现C#CheckBoxList模糊搜索的更多相关文章
- ASP.NET jQuery 随笔 显示CheckBoxList成员选中的内容
通过jQuery来获取CheckBoxList成员内容. <%@ Page Language="C#" AutoEventWireup="true" Co ...
- jquery.chosen.js实现模糊搜索
jquery.chosen.js查询时,chosen默认从第一个字符搜索,所以写中间的字符搜索时,是搜索不出来的 若想实现中间字符的模糊查询,下面的js中(search_contains属性为true ...
- Jquery.Validate验证CheckBoxList,RadioButtonList,DropDownList是否选中
http://blog.csdn.net/fox123871/article/details/8108030 <script type="text/javascript"&g ...
- jquery中当CheckBoxList被选中时提示
$(function(){ $('input:checkbox').on('change', function(){ //当复选框选中时出现提示 if($('input:checkbox:checke ...
- ASP.NET CheckBoxList Operations with jQuery
本文描述了如何通过jQuery来对ASP.NET CheckBoxList控件进行一些基本操作,如通过value/text/index check/uncheck CheckBoxList,最小/最大 ...
- js、jquery实现模糊搜索功能
模糊搜索功能在工作中应用广泛,并且很实用,自己写了一个方法,以后用到的时候可以直接拿来用了! 实现的搜索功能: 1. 可以匹配输入的字符串找出列表中匹配的项,列表框的高度跟随搜索出的列表项的多少改变 ...
- jQuery对标签select优化:实现模糊搜索查询功能
由于select标签中的option条数较多,翻页查询比较麻烦,需要对select标签进行优化,解决方法是通过增加模糊查询功能来提高用户体验感. 优化后的界面如下: 在实现这个优化的过程中,参考了两个 ...
- jquery 下拉框插件,实现智能补全,模糊搜索,多选
近期已朋友问我问题,实现类似淘宝百度的下啦搜索条,看了网上好多帖子,都看起来好复杂,而且引用了好多没用的东西,而且多选选择内容多之后容易样式奔溃, 无奈之下只好自己改了, 话不多说上效果图: 模糊搜索 ...
- jquery根据接口返回的值来设置asp:CheckBoxList的选中值
接口返回一个json的值,然后通过jquery来选中asp:CheckBoxList相应选中的值 <asp:CheckBoxList runat="server" Repea ...
随机推荐
- Mac OSX(Mac OS10.11) 安装 pwntools 失败的最新解决方案
pwntools是一个 CTF 框架和漏洞利用开发库,用 Python 开发,由 rapid 设计,旨在让使用者简单快速的编写 exploit. 网上针对 Mac OS 的安装教程大多都是基于 pip ...
- mtime, atime, ctime 的区别
mtime ls -l 显示最近修改文件内容的时间 atime ls -lu 显示最近访问文件的时间 ctime ls -li 显示最近文件有所改变的状态,如文件修改,属性\属主改变,节点,链接变化等 ...
- 【DB_MySQL】MySQL日志分析
MySQL数据库常见的日志有:错误日志(log_error).慢查询日志(slow_query_log).二进制日志(bin_log).通用日志(general_log) 开启慢查询日志并分析 开启慢 ...
- GCN python 实现2:利用GCN进行节点分类
参考:https://www.baidu.com/link?url=5oU-O_YQV8DdSTtRkgzsQ_vuwjJHyUOxqeAKhq98ZA5XtvKW8PNQwXgSlr5GpESRqh ...
- 007-OpenStack-启动实例
OpenStack-启动实例 [基于此文章的环境]点我快速打开文章 1.控制节点操作(controller) [官方文档]点我快速打开文章 1. 创建网络 neutron net-create --s ...
- 初识V4l2(二)-------浅析video_register_device
在V4l2初识(一)中,我们已经知道当插上一个摄像头的时候,在uvc_driver.c中最终会调用函数video_register_device函数.接下来我们就简要分析这个函数做了哪些事情,揭开其神 ...
- 为什么要使用token,token与session区别是什么
目录 一.session的状态保持及弊端 二.token认证机制 一.session的状态保持及弊端 当用户第一次通过浏览器使用用户名和密码访问服务器时,服务器会验证用户数据,验证成功后在服务器端写入 ...
- Photoshop cc 2019 下载链接
[安装环境]:win7/win8/win10 [64位下载] 百度网盘链接:pan.baidu.com/s/14vwkeez-jAx8WVkXXUgfPQ 提取码:797f
- scp、rsync、xsync
scp. 拷贝完全相同 scp -r etc/hadoop/dfs.hosts root@192.168.121.134:/usr/local/hadoop/hadoop-2.7.6/etc/hado ...
- shell脚本的输入以及脚本拥有特效地输出
shell脚本的输入以及脚本拥有特效地输出 shell脚本输入之read命令 之前是直接在sh 后加参数 现在是另一种方式 语法:read -参数 -p:给出提示符.默认不支持"\n&quo ...