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 相关文章推荐
js函数使用技巧之 setTimeout(function(){},0)
Feb 09 Javascript
jQuery操作CheckBox的方法介绍(选中,取消,取值)
Feb 04 Javascript
js图片延迟技术一般的思路与示例
Mar 20 Javascript
JS实现来回出现文字的状态栏特效代码
Oct 31 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
May 17 Javascript
Bootstrap table简单使用总结
Feb 15 Javascript
node.js中express中间件body-parser的介绍与用法详解
May 23 Javascript
JS设置随机出现2个数字的实例代码
Jul 19 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
Mar 20 Javascript
webstorm中配置Eslint的两种方式及差异比较详解
Oct 19 Javascript
vue组件实践之可搜索下拉框功能
Nov 25 Javascript
Vue实现动态查询规则生成组件
May 27 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
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
对Session和Cookie的区分与解释
2007/03/16 PHP
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
2009/09/05 PHP
thinkphp实现发送邮件密码找回功能实例
2014/12/01 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
用javascript获得地址栏参数的两种方法
2006/11/08 Javascript
Javascript延迟执行实现方法(setTimeout)
2010/12/30 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
Javascript函数式编程语言
2015/10/11 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
JS生成和下载二维码的代码
2016/12/07 Javascript
TableSort.js表格排序插件使用方法详解
2017/02/10 Javascript
jQuery简单实现MD5加密的方法
2017/03/03 Javascript
Angular中的$watch方法详解
2017/09/18 Javascript
简单谈谈js的数据类型
2017/09/25 Javascript
javaScript实现滚动条事件详解
2020/03/24 Javascript
vue组件父子间通信之综合练习(聊天室)
2017/11/07 Javascript
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
vue弹窗插件实战代码
2018/09/08 Javascript
基于js Canvas实现二次贝塞尔曲线
2018/12/25 Javascript
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
Python生成pdf文件的方法
2014/08/04 Python
详解duck typing鸭子类型程序设计与Python的实现示例
2016/06/03 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
Python如何读取、写入CSV数据
2020/07/28 Python
css3实现3d旋转动画特效
2015/03/10 HTML / CSS
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
小学红领巾中秋节广播稿
2014/01/13 职场文书
我的梦想演讲稿1000字
2014/08/21 职场文书
mysql部分操作
2021/04/05 MySQL
Python制作动态字符画的源码
2021/08/04 Python
浅谈Java父子类加载顺序
2021/08/04 Java/Android
Go web入门Go pongo2模板引擎
2022/05/20 Golang