基于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 相关文章推荐
jQuery的强大选择器小结
Dec 27 Javascript
JS+DIV实现鼠标划过切换层效果的方法
May 25 Javascript
BootStrap初学者对弹出框和进度条的使用感觉
Jun 27 Javascript
jQuery easyui刷新当前tabs的方法
Sep 23 Javascript
浅谈Vue的基本应用
Dec 27 Javascript
js如何找出字符串中的最长回文串
Jun 04 Javascript
JS非行间样式获取函数的实例代码
Jun 05 Javascript
在vue中使用echarts图表实例代码详解
Oct 22 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
Feb 16 Javascript
详解ES6 CLASS在微信小程序中的应用实例
Apr 24 Javascript
vue style width a href动态拼接问题的解决
Aug 07 Javascript
Vue中插槽slot的使用方法与应用场景详析
Jun 08 Vue.js
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伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
采集邮箱的php代码(抓取网页中的邮箱地址)
2012/07/17 PHP
Smarty局部缓存的几种方法简介
2014/06/17 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
PHP命名空间和自动加载类
2016/04/03 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
深入理解Javascript动态方法调用与参数修改的问题
2013/12/10 Javascript
Area 区域实现post提交数据的js写法
2014/04/22 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
自动完成的搜索框javascript实现
2016/02/26 Javascript
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
2018/05/15 Javascript
vue使用recorder.js实现录音功能
2019/11/22 Javascript
React中使用UMEditor的方法示例
2019/12/27 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
python局域网ip扫描示例分享
2014/04/03 Python
使用Python3中的gettext模块翻译Python源码以支持多语言
2015/03/31 Python
python超简单解决约瑟夫环问题
2015/05/12 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
python按照多个条件排序的方法
2019/02/08 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
Python logging自定义字段输出及打印颜色
2020/11/30 Python
利用css3径向渐变做一张优惠券的示例
2018/03/22 HTML / CSS
CSS3 transforms应用于背景图像的解决方法
2019/04/16 HTML / CSS
吃透移动端 1px的具体用法
2019/12/16 HTML / CSS
室内设计专业学生的自我评价分享
2013/11/27 职场文书
企业办公室岗位职责
2014/03/12 职场文书
一体化教学实施方案
2014/05/10 职场文书
2014年卫生监督工作总结
2014/12/09 职场文书
酒店前台接待岗位职责
2015/04/02 职场文书
宇宙与人观后感
2015/06/05 职场文书
创业计划书之服装
2019/10/07 职场文书
vue引入Excel表格插件的方法
2021/04/28 Vue.js