js实现表格筛选功能


Posted in Javascript onJanuary 18, 2017

js实现表格筛选功能

本应用就两个主要实现:

1.表格的id 和 class之间的命名关系

请看图: 将组名和个人信息联表格联系起来,这样会很好的操作表格

js实现表格筛选功能

HTML代码:

<tr class="parent" id="row_01"><td colspan="3">前台设计组</td></tr>
   <tr class="child_row_01"><td>张三</td><td>男</td><td>浙江宁波</td></tr>
   <tr class="child_row_01"><td>李四</td><td>男</td><td>浙江宁波</td></tr>
   <tr class="child_row_01"><td>胡歌</td><td>男</td><td>浙江宁波</td></tr>
   <tr class="parent" id="row_02"><td colspan="3">前台开发组</td></tr>
   <tr class="child_row_02"><td>李三</td><td>男</td><td>浙江宁波</td></tr>
   <tr class="child_row_02"><td>张无忌</td><td>男</td><td>浙江宁波</td></tr>
   <tr class="child_row_02"><td>孔子</td><td>男</td><td>浙江宁波</td></tr>

2.就是筛选功能的使用:使用filter联合contains将输入框的字加入contains进行筛选

javascript代码:

//设置列表查询
 $("#filterName").keyup(function () {
  $("table tbody tr").stop().hide() //将tbody中的tr都隐藏
    .filter(":contains('"+($(this).val())+"')").show(); //,将符合条件的筛选出来
  
  });

下面是完整代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>表格应用</title>
 <style>
  *{
   margin: 0;
   padding: 0;
  }
  .box{
   border: 1px solid #000;
   margin:50px auto;
   width: 340px;
   padding: 10px 10px;
  }
  .box table{
   margin: auto;
  }
  .box .box-top{
   width: 303px;
   margin: 5px auto;
  }
  .box table tr td,th{
   padding: 5px 30px;
   text-align: center;
  }
  .box table .parent{
   background: lightgray;
  }
  .selected{
   background: gray !important;
  }
  .selectHeight{
   background: darkseagreen !important;
  }
 </style>
</head>
<body>
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
 $(function () {
  //默认让王五选中
  $("tr:contains('王五')").addClass("selectHeight")
  //点击让其展示出列表 默认让其都隐藏
  $(".box tr.parent").click(function () {
   $(this)
    .toggleClass("selected")
    .siblings(".child_"+this.id).stop().toggle();
  }).click();//此行代码表示要立即执行
  //设置列表查询
  $("#filterName").keyup(function () {
   $("table tbody tr").stop().hide() //将tbody中的tr都隐藏
    .filter(":contains('"+($(this).val())+"')").show(); //,将符合条件的筛选出来
  });
 });
</script>
<div class="box">
 <div class="box-top">
  <span>筛选:</span><input type="text" id="filterName">
 </div>
 <table>
  <thead>
   <tr>
    <th>姓名</th>
    <th>性别</th>
    <th>暂住地</th>
   </tr>
  </thead>
  <tbody>
   <tr class="parent" id="row_01"><td colspan="3">前台设计组</td></tr>
   <tr class="child_row_01"><td>张三</td><td>男</td><td>浙江宁波</td></tr>
   <tr class="child_row_01"><td>李四</td><td>男</td><td>浙江宁波</td></tr>
   <tr class="child_row_01"><td>胡歌</td><td>男</td><td>浙江宁波</td></tr>
   <tr class="parent" id="row_02"><td colspan="3">前台开发组</td></tr>
   <tr class="child_row_02"><td>李三</td><td>男</td><td>浙江宁波</td></tr>
   <tr class="child_row_02"><td>张无忌</td><td>男</td><td>浙江宁波</td></tr>
   <tr class="child_row_02"><td>孔子</td><td>男</td><td>浙江宁波</td></tr>
   <tr class="parent" id="row_03"><td colspan="3">后台设计组</td></tr>
   <tr class="child_row_03"><td>王五</td><td>男</td><td>浙江宁波</td></tr>
   <tr class="child_row_03"><td>单志永</td><td>男</td><td>浙江宁波</td></tr>
   <tr class="child_row_03"><td>刘粒粒</td><td>男</td><td>浙江宁波</td></tr>
  </tbody>
 </table>
</div>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript 类似flash效果的立体图片浏览器
Feb 08 Javascript
教您去掉ie网页加载进度条的方法
Dec 09 Javascript
使用javascript做的一个随机点名程序
Feb 13 Javascript
jquery validate.js表单验证入门实例(附源码)
Nov 10 Javascript
jQuery防止重复绑定事件的解决方法
May 14 Javascript
jquery解析XML及获取XML节点名称的实现代码
May 18 Javascript
微信小程序 教程之WXSS
Oct 18 Javascript
JavaScript中的await/async的作用和用法
Oct 31 Javascript
利用策略模式与装饰模式扩展JavaScript表单验证功能
Feb 14 Javascript
Bootstrap进度条实现代码解析
Mar 07 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
Mar 11 Javascript
Vue2.0搭建脚手架
Mar 13 Vue.js
js放大镜放大购物图片效果
Jan 18 #Javascript
详解vue 中使用 AJAX获取数据的方法
Jan 18 #Javascript
easyui 中的datagrid跨页勾选问题的实现方法
Jan 18 #Javascript
JavaScript日期对象(Date)基本用法示例
Jan 18 #Javascript
jQuery中的一些小技巧
Jan 18 #Javascript
AngularJS Select(选择框)使用详解
Jan 18 #Javascript
基于JavaScript实现屏幕滚动效果
Jan 18 #Javascript
You might like
如何把PHP转成EXE文件
2006/10/09 PHP
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
php去除字符串换行符示例分享
2014/02/13 PHP
PHP中Http协议post请求参数
2015/11/02 PHP
Yii核心验证器api详解
2016/11/23 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
2017/08/30 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
Nigma vs Liquid BO3 第二场2.14
2021/03/10 DOTA
HTML5之lang属性与dir属性的详解
2013/06/19 Javascript
js jquery获取随机生成id的服务器控件的三种方法
2013/07/11 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
2015/09/14 Javascript
html+js实现简单的计算器代码(加减乘除)
2016/07/12 Javascript
详解Node.js中的事件机制
2016/09/22 Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
2016/11/02 Javascript
js数据类型检测总结
2018/08/05 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
[jQuery] 事件和动画详解
2019/03/05 jQuery
重置Redux的状态数据的方法实现
2019/11/18 Javascript
微信小程序将页面按钮悬浮固定在底部的实现代码
2020/10/29 Javascript
详解Python if-elif-else知识点
2018/06/11 Python
详解pytorch 0.4.0迁移指南
2019/06/16 Python
Python-copy()与deepcopy()区别详解
2019/07/12 Python
python并发编程多进程之守护进程原理解析
2019/08/20 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
python代码能做成软件吗
2020/07/24 Python
详解Python中的Lock和Rlock
2021/01/26 Python
HTML5实现视频弹幕功能
2019/08/09 HTML / CSS
意大利拉斐尔时尚购物网:Raffaello Network(支持中文)
2018/11/09 全球购物
经典c++面试题六
2012/01/18 面试题
函授药学自我鉴定
2014/02/07 职场文书
组织鉴定材料
2014/06/02 职场文书
关于随地扔垃圾的检讨书
2014/09/30 职场文书
护士年终个人总结
2015/02/13 职场文书
2015年社区宣传工作总结
2015/05/20 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python