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 });
不要在该奋斗的年纪而选择了安逸