详解jQuery简单的表格应用


Posted in Javascript onDecember 16, 2016

大致介绍

在CSS技术之前,网页的布局基本都是依靠表格制作,当有了CSS之后,表格就被很多设计师所抛弃,但是表格也有他的用武之地,比如数据列表,下面以表格中常见的几个应用来加深对jQuery的认识。

表格变色

基本的结构:

<table>
    <thead>
      <tr><th>姓名</th><th>性别</th><th>暂住地</th></tr>
    </thead>
    <tbody>
      <tr><td>张三</td><td>男</td><td>杭州</td></tr>
      <tr><td>王五</td><td>女</td><td>江苏</td></tr>
      <tr><td>李斯</td><td>男</td><td>北京</td></tr>
      <tr><td>赵六</td><td>女</td><td>兰州</td></tr>
      <tr><td>往往</td><td>男</td><td>酒泉</td></tr>
      <tr><td>李师傅</td><td>男</td><td>东京</td></tr>
    </tbody>
  </table>

1、普通的隔行变色

首先定义两个样式

.even{
    background: #FFF38F;
  }
 .odd{
    background: #FFFFEE;
  } 
 

添加变色

$('tr:odd').addClass('odd');
 $('tr:even').addClass('even');

2、单选框控制表格行高亮

在每一行之前加一个单选按钮,当单击某一行后,此行被选中高亮显示并且单选框被选中

$('tbody>tr').click(function(){
    $(this)
      .addClass('selected')
      .siblings().removeClass('selected')
      .end()
      .find(':radio').attr('checked',true);
  });

3、复选框控制表格行高亮

$('tbody>tr').click(function(){
    if($(this).hasClass('selected')){
      $(this).removeClass('selected')
          .find(':checkbox').attr('checked',false);
    }else{
      $(this).addClass('selected')
          .find(':checkbox').attr('checked',true);
    }
  });

表格展开关闭

基本结构:

<table>
    <thead>
      <tr><th></th><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><td>杭州</td></tr>
      <tr class="child_row_01"><td></td><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><td>北京</td></tr>
      <tr class="child_row_02"><td></td><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><td>酒泉</td></tr>
      <tr class="child_row_03"><td></td><td>李师傅</td><td>男</td><td>东京</td></tr>
    </tbody>
  </table>

添加事件,当点击一个分类的标题时,这个分类关闭或者打开

$('tr.parent').click(function(){
    $(this).toggleClass('selected')
       .siblings('.child_' + this.id).toggle();
  });

表格内容筛选

基本结构:

<table>
    <thead>
      <tr><th></th><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><td>杭州</td></tr>
      <tr class="child_row_01"><td></td><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><td>北京</td></tr>
      <tr class="child_row_02"><td></td><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><td>酒泉</td></tr>
      <tr class="child_row_03"><td></td><td>李师傅</td><td>男</td><td>东京</td></tr>
    </tbody>
  </table>
  <input type="text" id="filterName" />

添加事件

$('#filterName').keyup(function(){
   $('table tbody tr').hide().filter(":contains(' "+($(this).val())+" ' )").show();
 });

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

Javascript 相关文章推荐
js页面跳转常用的几种方式
Nov 25 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
Aug 21 Javascript
基于javascript数组实现图片轮播
May 02 Javascript
网页瀑布流布局jQuery实现代码
Oct 21 Javascript
Angularjs中的页面访问权限怎么设置
Nov 11 Javascript
微信小程序之MaterialDesign--input组件详解
Feb 15 Javascript
vue.js单文件组件中非父子组件的传值实例
Sep 13 Javascript
vue使用Font Awesome的方法步骤
Feb 26 Javascript
关于Layui Table隐藏列问题
Sep 16 Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
Jul 18 Javascript
vue中echarts的用法及与elementui-select的协同绑定操作
Nov 17 Vue.js
Vue实现todo应用的示例
Feb 20 Vue.js
JS中parseInt()和map()用法分析
Dec 16 #Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
Dec 16 #Javascript
JS数字千分位格式化实现方法总结
Dec 16 #Javascript
jquery插件锦集【推荐】
Dec 16 #Javascript
jQuery Easyui 下拉树组件combotree
Dec 16 #Javascript
JS实现字符串转驼峰格式的方法
Dec 16 #Javascript
详解js数组的完全随机排列算法
Dec 16 #Javascript
You might like
一个简单的php实现的MySQL数据浏览器
2007/03/11 PHP
PHP游戏编程25个脚本代码
2011/02/08 PHP
php设计模式 Builder(建造者模式)
2011/06/26 PHP
深入了解PHP类Class的概念
2012/06/14 PHP
提高PHP编程效率的方法
2013/11/07 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
php使用curl获取https请求的方法
2015/02/11 PHP
php提交post数组参数实例分析
2015/12/17 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
2019/03/01 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
jquery简单体验
2007/01/10 Javascript
Javascript中的delete介绍
2012/09/02 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
2013/12/16 Javascript
table行随鼠标移动变色示例
2014/05/07 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
2014/07/21 Javascript
jquery中获取元素里某一特定子元素的代码
2014/12/02 Javascript
jQuery制作拼图小游戏
2015/01/12 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
跟老齐学Python之玩转字符串(1)
2014/09/14 Python
Python随机生成数据后插入到PostgreSQL
2016/07/28 Python
Python3调用微信企业号API发送文本消息代码示例
2017/11/10 Python
python 两个数据库postgresql对比
2019/10/21 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
Python爬虫获取页面所有URL链接过程详解
2020/06/04 Python
汽车专业人才自我鉴定范文
2013/12/29 职场文书
军训考核自我鉴定
2014/02/13 职场文书
教师考核表个人总结
2015/02/12 职场文书
2015年技术工作总结范文
2015/04/20 职场文书
农村环境卫生倡议书
2015/04/29 职场文书
创业计划书之家政服务
2019/09/18 职场文书
详解Python自动化之文件自动化处理
2021/06/21 Python
CSS font-variation 可变字体的魅力(实例详解)
2022/03/03 HTML / CSS
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android
Python sklearn分类决策树方法详解
2022/09/23 Python