基于JQuery的一句代码实现表格的简单筛选


Posted in Javascript onJuly 26, 2010

效果图:
基于JQuery的一句代码实现表格的简单筛选
代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="JqueryTableFilter.aspx.cs" Inherits="JqueryTableFilter" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
<script src="Script/jquery-1.3.2-vsdoc.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(function() { 
$("#Text1").keyup(function() { 
var filterText = $(this).val(); 
$("#<%=GridView1.ClientID %> tr").not(":first").hide().filter(":contains('" + filterText + "')").show();; 
}).keyup(); 
}); 
</script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div style="width:60%;"> 
<input id="Text1" type="text" /> 
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
DataKeyNames="OrderID" DataSourceID="SqlDataSource1" 
HorizontalAlign="Left" PageSize="50" > 
<Columns> 
<asp:BoundField DataField="OrderID" HeaderText="OrderID" ReadOnly="True" 
SortExpression="OrderID" InsertVisible="False" /> 
<asp:BoundField DataField="CustomerID" HeaderText="CustomerID" 
SortExpression="CustomerID" /> 
<asp:BoundField DataField="EmployeeID" HeaderText="EmployeeID" 
SortExpression="EmployeeID" /> 
<asp:BoundField DataField="OrderDate" HeaderText="OrderDate" 
SortExpression="OrderDate" /> 
<asp:BoundField DataField="RequiredDate" HeaderText="RequiredDate" 
SortExpression="RequiredDate" /> 
<asp:BoundField DataField="ShippedDate" HeaderText="ShippedDate" 
SortExpression="ShippedDate" /> 
<asp:BoundField DataField="ShipVia" HeaderText="ShipVia" 
SortExpression="ShipVia" /> 
<asp:BoundField DataField="Freight" HeaderText="Freight" 
SortExpression="Freight" /> 
</Columns> 
</asp:GridView> 
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" 
SelectCommand="SELECT top 50 * FROM [Orders]"></asp:SqlDataSource> 
</div> 
</form> 
</body> 
</html>
 
JQuery代码就:
$(function() { 
$("#Text1").keyup(function() { 
var filterText = $(this).val(); 
$("#<%=GridView1.ClientID %> tr").not(":first").hide().filter(":contains('" + filterText + "')").show();; 
}).keyup(); 
});

里面最重要的就是JQuery的选择器:

1:$("#<%=GridView1.ClientID %> tr")选择表格的所有行;
2:not(":first"):除去第一行表头行;
3:filter(":contains('" + filterText + "')"):从上面所选择的行里面筛选出行文本中包含filterText 的行显示出来;
4:最后加一句keyup()是为了在提交后重新触发keyup事件。(但是在这里没有作用因为我用的客户端控件没有ViewState
若是服务器端控件就会看见他的作用)。

JQuery的选择器的强大之处,让我们能救这么简单的实现客户端的简单筛选。最后加一句关于表格筛选有JQuery插件提供
给我们选择, 但是这种简单的功能,我不会去选择加入一个JavaScript文件库,呵呵。
作者:破  浪

Javascript 相关文章推荐
JavaScript全局函数使用简单说明
Mar 11 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
Dec 12 Javascript
探讨js中的双感叹号判断
Nov 11 Javascript
js类型转换与引用类型详解(Boolean_Number_String)
Mar 07 Javascript
JS版的date函数(和PHP的date函数一样)
May 12 Javascript
JQuery仿小米手机抢购页面倒计时效果
Dec 16 Javascript
jQuery实现返回顶部效果的方法
May 29 Javascript
json与jsonp知识小结(推荐)
Aug 16 Javascript
javascript prototype原型详解(比较基础)
Dec 26 Javascript
jQuery展示表格点击变色、全选、删除
Jan 05 Javascript
jQuery实现的表格前端排序功能示例
Sep 18 jQuery
原生js实现ajax请求和JSONP跨域请求操作示例
Mar 14 Javascript
jQuery getJSON 处理json数据的代码
Jul 26 #Javascript
基于jQuery的可以控制左右滚动及自动滚动效果的代码
Jul 25 #Javascript
用jquery实现下拉菜单效果的代码
Jul 25 #Javascript
利用腾讯的ip地址库做ip物理地址定位
Jul 24 #Javascript
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
Jul 24 #Javascript
来自qq的javascript面试题
Jul 24 #Javascript
6个DIV 135或246间隔一秒轮番显示效果
Jul 24 #Javascript
You might like
php把数组值转换成键的方法
2015/07/13 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
thinkPHP5框架中widget的功能与用法详解
2018/06/11 PHP
JQuery Tips(4) 一些关于提高JQuery性能的Tips
2009/12/19 Javascript
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
2010/07/26 Javascript
js原生态函数中使用jQuery中的 $(this)无效的解决方法
2011/05/25 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
jquery中交替点击事件toggle方法的使用示例
2013/12/08 Javascript
jquery如何把数组变为字符串传到服务端并处理
2014/04/30 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
2015/08/11 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
Angular.JS通过指令操作DOM的方法
2017/05/10 Javascript
小程序实现带年月选取效果的日历
2018/06/27 Javascript
layer.close()关闭进度条和Iframe窗的方法
2018/08/17 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
vue点击自增和求和的实例代码
2019/11/06 Javascript
vue-cli设置css不生效的解决方法
2020/02/07 Javascript
django实现分页的方法
2015/05/26 Python
python调用fortran模块
2016/04/08 Python
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
Sanic框架配置操作分析
2018/07/17 Python
python中的decimal类型转换实例详解
2019/06/26 Python
pycharm创建scrapy项目教程及遇到的坑解析
2019/08/15 Python
Django实现auth模块下的登录注册与注销功能
2019/10/10 Python
python如果快速判断数字奇数偶数
2019/11/13 Python
Django分组聚合查询实例分享
2020/04/29 Python
多媒体专业自我鉴定
2014/02/28 职场文书
安全生产活动月方案
2014/03/09 职场文书
2015年房产经纪人工作总结
2015/05/15 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书
Go语言带缓冲的通道实现
2021/04/26 Golang
JavaScript函数柯里化
2021/11/07 Javascript
Oracle数据库中通用的函数实例详解
2022/03/25 Oracle
Python可视化动图组件ipyvizzu绘制惊艳的可视化动图
2022/04/21 Python
字节飞书面试promise.all实现示例
2022/06/16 Javascript
Shell中的单中括号和双中括号的用法详解
2022/12/24 Servers