jQuery学习之路(6)- 简单的表格应用

▓▓▓▓▓▓ 大致介绍

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

▓▓▓▓▓▓ 表格变色

    基本的结构:

 1     <table>
 2         <thead>
 3             <tr><th>姓名</th><th>性别</th><th>暂住地</th></tr>
 4         </thead>
 5         <tbody>
 6             <tr><td>张三</td><td></td><td>杭州</td></tr>
 7             <tr><td>王五</td><td></td><td>江苏</td></tr>
 8             <tr><td>李斯</td><td></td><td>北京</td></tr>
 9             <tr><td>赵六</td><td></td><td>兰州</td></tr>
10             <tr><td>往往</td><td></td><td>酒泉</td></tr>
11             <tr><td>李师傅</td><td></td><td>东京</td></tr>
12         </tbody>
13     </table>

    1、普通的隔行变色

      首先定义两个样式

1     .even{
2         background: #FFF38F;
3     }
4     .odd{
5         background: #FFFFEE;
6     }

    

    添加变色

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

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

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

1     $('tbody>tr').click(function(){
2         $(this)
3             .addClass('selected')
4             .siblings().removeClass('selected')
5             .end()
6             .find(':radio').attr('checked',true);
7     });

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

1     $('tbody>tr').click(function(){
2         if($(this).hasClass('selected')){
3             $(this).removeClass('selected')
4                    .find(':checkbox').attr('checked',false);
5         }else{
6             $(this).addClass('selected')
7                    .find(':checkbox').attr('checked',true);
8         }
9     });

▓▓▓▓▓▓ 表格展开关闭

    基本结构:

 1     <table>
 2         <thead>
 3             <tr><th></th><th>姓名</th><th>性别</th><th>暂住地</th></tr>
 4         </thead>
 5         <tbody>
 6             <tr class="parent" id="row_01"><td colspan="3">前台设计组</td></tr>
 7             <tr class="child_row_01"><td></td><td>张三</td><td></td><td>杭州</td></tr>
 8             <tr class="child_row_01"><td></td><td>王五</td><td></td><td>江苏</td></tr>
 9 
10             <tr class="parent" id="row_02"><td colspan="3">前台开发组</td></tr>
11             <tr class="child_row_02"><td></td><td>李斯</td><td></td><td>北京</td></tr>
12             <tr class="child_row_02"><td></td><td>赵六</td><td></td><td>兰州</td></tr>
13 
14             <tr class="parent" id="row_03"><td colspan="3">后台开发组</td></tr>
15             <tr class="child_row_03"><td></td><td>往往</td><td></td><td>酒泉</td></tr>
16             <tr class="child_row_03"><td></td><td>李师傅</td><td></td><td>东京</td></tr>
17         </tbody>
18     </table>

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

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

▓▓▓▓▓▓ 表格内容筛选

    基本结构:

 1     <table>
 2         <thead>
 3             <tr><th></th><th>姓名</th><th>性别</th><th>暂住地</th></tr>
 4         </thead>
 5         <tbody>
 6             <tr class="parent" id="row_01"><td colspan="3">前台设计组</td></tr>
 7             <tr class="child_row_01"><td></td><td>张三</td><td></td><td>杭州</td></tr>
 8             <tr class="child_row_01"><td></td><td>王五</td><td></td><td>江苏</td></tr>
 9 
10             <tr class="parent" id="row_02"><td colspan="3">前台开发组</td></tr>
11             <tr class="child_row_02"><td></td><td>李斯</td><td></td><td>北京</td></tr>
12             <tr class="child_row_02"><td></td><td>赵六</td><td></td><td>兰州</td></tr>
13 
14             <tr class="parent" id="row_03"><td colspan="3">后台开发组</td></tr>
15             <tr class="child_row_03"><td></td><td>往往</td><td></td><td>酒泉</td></tr>
16             <tr class="child_row_03"><td></td><td>李师傅</td><td></td><td>东京</td></tr>
17         </tbody>
18     </table>
19     <input type="text" id="filterName" />

    添加事件

1     $('#filterName').keyup(function(){
2         $('table tbody tr').hide().filter(":contains(' "+($(this).val())+" ' )").show();
3     });
原文地址:https://www.cnblogs.com/qqandfqr/p/6186163.html