zoukankan      html  css  js  c++  java
  • jquery插件方式实现table查询功能

    1.写插件部分,如下:

    ;(function($){

      $.fn.plugin = function(options){

        var defaults = {

          //各种属性,各种参数

        }

        var options = $.extend(defaults, options);

         this.each(function(){

          //功能代码

          var _this = this;

        });

      }

    })(jQuery);

    附上一个例子:

     1 ;(function($){
     2     $.fn.table = function(options){
     3     var defaults = {
     4             //arguments , properties
     5             evenRowClass : 'evenRow',
     6             oddRowClass : 'oddRow',
     7             currentRowClass : 'currentRow',
     8             eventType : 'mouseover',
     9             eventType2 : 'mouseout',
    10         }    
    11         var options = $.extend(defaults, options);
    12 
    13         this.each(function(){
    14 
    15             //function code
    16             var _this = $(this);
    17             //even row
    18             _this.find('tr:even:not("#thead")').addClass(options.evenRowClass);
    19             //_this.find('#thead').removeClass(options.evenRowClass);
    20             // odd row 
    21             _this.find('tr:odd').addClass(options.oddRowClass);
    22 
    23             /*_this.find('tr').mouseover(function(){
    24                 $(this).addClass(options.currentRowClass);
    25             }).mouseout(function(){
    26                 $(this).removeClass(options.currentRowClass);
    27             });*/
    28 
    29             _this.find('tr').bind(options.eventType, function(){
    30                 $(this).addClass(options.currentRowClass);
    31             });
    32 
    33             _this.find('tr').bind(options.eventType2, function(){
    34                 $(this).removeClass(options.currentRowClass);
    35             });
    36 
    37         });
    38         return this;
    39     }
    40 })(jQuery);

    html部分调用插件如下:
    $();==$(function(){});==$(document).ready(); 等页面加载成功后执行

    ;$(function(){

      $('#table1').table({
       
        //arguments , properties
        evenRowClass : 'evenRow1',
        oddRowClass : 'oddRow1',
        currentRowClass : 'currentRow1' 
     });

    });

    附上代码:

      1 <!doctype html>
      2 <html lang="en">
      3  <head>
      4   <meta charset="UTF-8">
      5   <meta name="Generator" content="EditPlus®">
      6   <meta name="Author" content="">
      7   <meta name="Keywords" content="">
      8   <meta name="Description" content="">
      9   <title>Document</title>
     10   <style>
     11     *{margin:0; padding:0;}
     12     table{
     13         border-collapse:collapse;
     14         100%;
     15         border:1px solid red;
     16         margin-top:50px;
     17         text-align:center;
     18     } 
     19     
     20     tr, th, td{
     21         height:30px;
     22         border:1px solid red;
     23     }
     24     .evenRow1{
     25         background:red;
     26     }
     27     .oddRow1{
     28         background:orange;
     29     }
     30     .currentRow1{
     31         background:blue;
     32     }
     33     #ss{
     34         float:right;
     35         margin-right:100px;
     36     }
     37     #search{
     38         font-size:14px;
     39         50px;
     40     }
     41 
     42   </style>
     43         <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
     44     <script src="jquery-table-1.0.js"></script>
     45  </head>
     46  <body>
     47  <script>
     48  ;$(function(){
     49     $('#table1').table({
     50             
     51         //arguments , properties
     52         evenRowClass : 'evenRow1',
     53         oddRowClass : 'oddRow1',
     54         currentRowClass : 'currentRow1'    
     55         
     56     });
     57 
     58     $('input[type=button]').click(function(){
     59             var text = $('input[type=text]').val();
     60             $('#table1 tr:not("#thead")').hide().filter(':contains("'+text+'")').show();
     61         });
     62 
     63     });
     64 
     65  </script>
     66 
     67    <div id="ss">
     68   <input type="text" placeholder="请输入查询数据">
     69   <input id="search" type="button" value="查询">
     70   </div>
     71 
     72   <table id="table1">
     73     <tr id="thead">
     74         <th>姓名</th>
     75         <th>学号</th>
     76         <th>性别</th>
     77         <th>年龄</th>
     78 
     79     </tr>
     80     <tr>
     81         <td>张三</td>
     82         <td>1</td>
     83         <td>男</td>
     84         <td>20</td>
     85     </tr>
     86 
     87     <tr>
     88         <td>李四</td>
     89         <td>2</td>
     90         <td>男</td>
     91         <td>30</td>
     92     </tr>
     93     <tr>
     94         <td>张三</td>
     95         <td>1</td>
     96         <td>女</td>
     97         <td>20</td>
     98     </tr>
     99 
    100     <tr>
    101         <td>李四</td>
    102         <td>2</td>
    103         <td>男</td>
    104         <td>30</td>
    105     </tr>
    106     <tr>
    107         <td>王五</td>
    108         <td>3</td>
    109         <td>男</td>
    110         <td>30</td>
    111     </tr>
    112     <tr>
    113         <td>王五</td>
    114         <td>3</td>
    115         <td>男</td>
    116         <td>30</td>
    117     </tr>
    118     <tr>
    119         <td>张三</td>
    120         <td>1</td>
    121         <td>女</td>
    122         <td>20</td>
    123     </tr>
    124 
    125     <tr>
    126         <td>李四</td>
    127         <td>2</td>
    128         <td>男</td>
    129         <td>30</td>
    130     </tr>
    131 
    132   </table>
    133  </body>
    134 </html>

    通过这个例子学到了jquery 对象级插件开发

  • 相关阅读:
    GIT里 SSH和HTTPS的区别
    迷宫 DFS 算法
    全排列 DFS 模板
    独立岛问题的BFS,DFS求解
    红丝绒蛋糕
    BFS,DFS伪代码
    【转】一个时代的剪影----汉
    AlbertRender --- 实时&离线全局光照渲染器(一)
    【linux驱动笔记】linux模块机制浅析
    【linux驱动笔记】字符设备驱动相关数据结构与算法
  • 原文地址:https://www.cnblogs.com/double405/p/5562045.html
Copyright © 2011-2022 走看看