jQuery表格排序組件-tablesorter


一、引入文件

<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript" src="js/jquery.tablesorter.js"></script> 
<!-- 引入以下樣式則表頭出現排序圖標,同時引入圖片  -->
<link href="css/style.css" rel="stylesheet" type="text/css" >
效果如圖:



二、標准的HTML表格,必須包括thead和tbody標簽

<table id="myTable" class="tablesorter"> 
     <thead> 
        <tr> 
            <th>Name</th> 
            <th>Sex</th> 
            <th>Address</th> 
        </tr> 
     </thead> 
     <tbody> 
        <tr> 
            <td>zhangsan</td> 
            <td>boy</td> 
            <td>beijing</td> 	    
        </tr> 
        <tr> 
            <td>lisi</td> 
            <td>girl</td> 
            <td>shanghai</td> 
        </tr> 
        <tr>
	     ...略
        </tr>
     </tbody> 
</table> 

三、設置table可排序

$(document).ready(function(){ 
     //第一列不進行排序(索引從0開始)
     $.tablesorter.defaults.headers = {0: {sorter: false}};
     $(".tablesorter").tablesorter(); 
});

官方文檔:http://tablesorter.com/docs/


補充說明:

在使用過程遇到的一個問題,我的表格數據是通過ajax獲取的,首頁進行排序的時候沒問題

當進行下一頁排序的時候,會把上頁的數據也重新顯示出來,解決這個問題可以在你ajax獲取數據之后

觸發"update"事件,代碼如下:

$(".tablesorter").trigger("update");

以上問題着實頭疼了很久,剛開始用的官網上的Pager plugin,發現這個不太合適。

又網上查資料 整理以下代碼:

$(".tablesorter tbody tr").addClass("delete");  
$(".tablesorter tbody tr.delete").remove();  
$("table tbody").append(html);
$(".tablesorter").trigger("appendCache");
$(".tablesorter").trigger("update");
$(".tablesorter").trigger("sorton",[[[2,1],[0,0]]]); 

於是都用上了,久經測試 發現只有$(".tablesorter").trigger("update");這一句能解決問題

其他的不知道是什么東東。

所需文件下載地址:http://download.csdn.net/detail/itmyhome/7389871

style.css及圖片在themes\blue路徑下。





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM