jquery插件方式實現table查詢功能

来源:http://www.cnblogs.com/double405/archive/2016/06/05/5562045.html
-Advertisement-
Play Games

1.寫插件部分,如下: ;(function($){ $.fn.plugin = function(options){ var defaults = { //各種屬性,各種參數 } var options = $.extend(defaults, options); this.each(functi ...


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         width: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         width: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 對象級插件開發

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 方法: 1、安裝tomcat1,過程為解壓縮。 2、拷貝壓縮後的文件,命名為tomcat2。 修改tomcat2中配置文件,tomcat1保持不變 server.xml, <Server port="8006" shutdown="SHUTDOWN"> 埠改為8006,tomcat1為8005 < ...
  • Pool對象的技術指標: 避免頻繁創建經常使用的稀有資源,提高工作效率. 控制閥值,很多情況下一些關鍵資源都有一個最佳併發數,超過這個拐點性能有可能急劇下降,也有可能繼續增大併發數性能不能提升. 安全的獲取對象和釋放對象(使用之後放回連接池) T對象實現時最好與Pool對象建立某種關聯,調用T對象實 ...
  • 前言 long long ago,大家普遍地認為JavaScript就是做一些網頁特效的、處理一些事件的。我身邊有一些老頑固的.NET程式員仍然停留在這種認知上,他們覺得沒有後端開發肯定是構建不了系統的。 編程語言和技術的結合使用,就像一個男人娶了好幾個妞一樣。在舊的時代,.NET是大房,JavaS... ...
  • 適配器模式主要用於當我們寫的代碼與舊代碼(可能不是我們寫的)無法相容時,做類型相容,這樣我們就可以輕鬆使用舊代碼中的功能了,這個模式和裝飾模式很像。 但二者還是有所區別的,裝飾模式主要是為了為類添加裝飾功能,將核心功能與裝飾功能分開。適配器模式主要是為了新舊代碼的相容,萬不得已才使用。 代碼如下: ...
  • 概述 在JavaScript中,我們可以使用函數、數組、對象,以及日期、正則等一些內置類型的實例,它們都是複雜類型的表現。從本質上講,這些複雜類型都是Object類型。本篇主要的內容有3點:函數、數組和對象。 函數 函數是JavaScript的一大重點,它非常的靈活。不像C#這種強類型語言,可以顯式... ...
  • atitti.atiNav 手機導航組件的設計 1.1. 三大按鍵導航功能,back,menu ,home1 1.2. header頁頭組件,為移動頁面頂部的導航條設計。1 1.3. 頁頭主題設計1 1.1. 三大按鍵導航功能,back,menu ,home 參考Android的三大按鍵導航功能,b ...
  • 1、CSS中的clear有四個參數: none:允許兩邊都可以浮動。 left:不允許左邊有浮動。 right:不允許右邊有浮動。 both(預設);不允許有浮動。 2、一開始在CSS中clear浮動是預設both,也就是說一開始不能有浮動的。 3、使用的案例:假設我清除第三個DIV的浮動 <sty ...
  • javascript之日期對象 學習要點: 日期對象 將日期對象轉換為字元串 將日期對象中的日期和時間轉換為字元串 日期對象中的日期 日期對象中的時間 設置日期對象中的日期 設置日期對象中的時間 與毫秒相關的方法 一、日期對象 在javascript中並沒有日期型的數據類型,但是提供了一個日期對象可 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...