zoukankan      html  css  js  c++  java
  • jQuery组件开发之表格隔行选中效果实现

    一.效果展示如下

    jQuery组件之表格插件源码

     1  //表格选中插件
     2 //方式一
     3 (function($){
     4     var chosTabBgColor = function(options){
     5             //设置默认值
     6             var options = $.extend({
     7                 odd:"odd", //奇数
     8                 even:"even",//偶数
     9                 selected:"selected"
    10             },options);
    11             
    12             $("tbody tr:odd", this).addClass(options.odd);
    13             $("tbody tr:even", this).addClass(options.even);
    14             //判定是否选中
    15             var hasSelected = $("tbody tr").hasClass("selected");
    16             $("tbody>tr", this).click(function(){
    17                 var $that = $(this);
    18                 //判断是否选中
    19                 var hasSelected = $that.hasClass(options.selected);
    20                 //如果选中,则移除selected类,否则添加selected类
    21                 $that[hasSelected ? "removeClass" : "addClass"](options.selected)
    22                 //查找内部的checkbox,并设置其属性
    23                 .find("[type=checkbox]").attr("checked",!hasSelected);
    24             });
    25             
    26             // 如果单选框默认情况下是选择的,则高色.
    27             $("tbody>tr:has(:checked)", this).addClass(options.selected);
    28     }
    29     $.fn.chosTabBgColor = chosTabBgColor;
    30 })(jQuery)
    31  //方式二
    32 /*(function($){
    33     $.fn.extend({
    34         "chosTabBgColor":function(options){
    35             //设置默认值
    36             var options = $.extend({
    37                 odd:"odd", //奇数
    38                 even:"even",//偶数
    39                 selected:"selected"
    40             },options);
    41             
    42             $("tbody tr:odd", this).addClass(options.odd);
    43             $("tbody tr:even", this).addClass(options.even);
    44             //判定是否选中
    45             var hasSelected = $("tbody tr").hasClass("selected");
    46             $("tbody>tr", this).click(function(){
    47                 var $that = $(this);
    48                 //判断是否选中
    49                 var hasSelected = $that.hasClass(options.selected);
    50                 //如果选中,则移除selected类,否则添加selected类
    51                 $that[hasSelected ? "removeClass" : "addClass"](options.selected)
    52                 //查找内部的checkbox,并设置其属性
    53                 .find("[type=checkbox]").attr("checked",!hasSelected);
    54             });
    55             
    56             // 如果单选框默认情况下是选择的,则高色.
    57             $("tbody>tr:has(:checked)", this).addClass(options.selected);
    58             
    59             return this;//返回链式调用
    60         }
    61     });
    62 })(jQuery)*/

    html源码

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title>表格选中插件</title>
     6         <style>
     7             html {
     8                 font-family: "微软雅黑";
     9             }
    10             .table {
    11                  60%;
    12                 border-collapse: collapse;
    13                 border: 0;
    14             }
    15             .table tr th, tr td {
    16                 border: solid 1px #cecece;
    17                 padding: 8px 10px;
    18                 text-align: left;
    19             }
    20             .bg-00A5FF {
    21                 background-color: #088c78;
    22                 color: #fff;
    23             }
    24             .table tr {
    25                 cursor: pointer;
    26             }
    27             .even { background:#c7c7c7; color: #fff;}  /* 偶数行样式*/
    28             .odd { background:#FFFFFF; }  /* 奇数行样式*/
    29             .selected { background:#00a1d4; color:#E91E63;}
    30         </style>
    31        
    32        <script type="text/javascript" src="js/lib/jquery-3.1.1.min.js" ></script>
    33        <!-- 作者:zhangjaingfeng 时间:2016-11-10 描述:表格选择chosTab组件 -->
    34        <script type="text/javascript" src="js/chosTab.js" ></script>
    35        <script type="text/javascript">
    36             $(function(){
    37                 $(".table").chosTabBgColor({});
    38             })
    39         </script>
    40     </head>
    41     <body>
    42         <table class="table" cellpadding="0" cellspacing="0" border="0">
    43             <colgroup>
    44                 <col width="10%"/>
    45                 <col width="30%"/>
    46                 <col width="30%"/>
    47                 <col width="30%"/>
    48             </colgroup>
    49             <thead class="bg-00A5FF">
    50                 <tr>
    51                     <th>请选择</th>
    52                     <th>姓名</th>
    53                     <th>性别</th>
    54                     <th>暂住地</th>
    55                 </tr>
    56             </thead>
    57             <tbody>
    58                 <tr class="">
    59                     <td><input type="checkbox" name=""/></td>
    60                     <td>Ulin</td>
    61                     <td>男</td>
    62                     <td>成都市高新区新怡华园</td>
    63                 </tr>
    64                 <tr>
    65                     <td><input type="checkbox" name=""/></td>
    66                     <td>Ylin</td>
    67                     <td>男</td>
    68                     <td>成都市高新区新怡华园</td>
    69                 </tr>
    70                 <tr>
    71                     <td><input type="checkbox" name=""/></td>
    72                     <td>Flin</td>
    73                     <td>男</td>
    74                     <td>成都市高新区新怡华园</td>
    75                 </tr>
    76                 <tr>
    77                     <td><input type="checkbox" name=""/></td>
    78                     <td>Alin</td>
    79                     <td>男</td>
    80                     <td>成都市高新区新怡华园</td>
    81                 </tr>
    82             </tbody>
    83         </table>
    84     </body>
    85 </html>
    View Code
  • 相关阅读:
    ASP.NET AJAX入门系列(1):概述
    ASP.NET中常用的文件上传下载方法
    Asp.net中DataBinder.Eval用法的总结
    ASP.NET AJAX入门系列(6):UpdateProgress控件简单介绍
    ASP.NET AJAX入门系列(8):自定义异常处理
    Javascrip常用语句
    26个常用的方法优化 ASP.NET 的性能
    JavaScript倒计时组件
    jQuery.buildFragment源码分析
    jQuery.Callbacks源码解读
  • 原文地址:https://www.cnblogs.com/zjf-1992/p/6056322.html
Copyright © 2011-2022 走看看