tablesorter.js表格排序使用方法(支持中文排序)
最近,因?yàn)轫?xiàng)目需要,對表格排序做了一下摸索,整理如下:
1. 首先,可從官網(wǎng)下載tablesorter.js,但并不支持中文的排序,對其源碼進(jìn)行修改:
部分源碼:
function sortText(a, b) { return ((a < b) ? -1 : ((a > b) ? 1 : 0)); }; function sortTextDesc(a, b) { return ((b < a) ? -1 : ((b > a) ? 1 : 0)); };
修改后:
function sortText(a,b) { return a.localeCompare(b); }; function sortTextDesc(a,b) { return b.localeCompare(a); };
修改完之后的js可支持中文的排序。
2.建立一個表格,格式如下:
<table> <thead> <tr><th></th></tr> </thead> <tr><td></td></tr> </table>
<html> <head> <title>jquery.tablesorter</title> <script language="JavaScript" type="text/javascript" src="jquery-1.3.2.min.js"></script> <script type="text/javascript" src="/manage/plugin/tablesorter/tablesorter.js"></script> <link rel="stylesheet" href="/manage/plugin/tablesorter/blue/style.css type=" rel="external nofollow" text/css" /> <script type="text/javascript"> $("#mytable").tablesorter(); </script> </head> <body> <table id="mytable" border="1" class="tablesorter"> <thead> <tr> <th class="header">First Name</th> <th class="header">Last Name</th> <th class="header">Age</th> <th class="header">Total</th> <th class="header">Discount</th> <th class="header">Date</th> <th class="header">State</th> </tr> </thead> <tr> <td>Peter</td> <td>Parker</td> <td>28</td> <td>$9.99</td> <td>20%</td> <td>Jul 6, 2006 8:14 AM</td> <td>已審核</td> </tr> <tr> <td>John</td> <td>Hood</td> <td>33</td> <td>$19.99</td> <td>25%</td> <td>Dec 10, 2002 5:14 AM</td> <td>已審核</td> </tr> <tr> <td>Clark</td> <td>Kent</td> <td>18</td> <td>$15.89</td> <td>44%</td> <td>Jan 12, 2003 11:14 AM</td> <td>已作廢</td> </tr> <tr> <td>Bruce</td> <td>Almighty</td> <td>45</td> <td>$153.19</td> <td>44%</td> <td>Jan 18, 2001 9:12 AM</td> <td>待審核</td> </tr> <tr> <td>Bruce</td> <td>Evans</td> <td>22</td> <td>$13.19</td> <td>11%</td> <td>Jan 18, 2007 9:12 AM</td> <td>已生效</td> </tr> </table> </body> </html>
頁面顯示如圖所示:
點(diǎn)擊表頭,就能夠排序。
注:
1).若是第五列、第六列不需要排序,代碼如下:
$("#mytable").tablesorter({headers:{4:{sorter:false},5:{sorter:false}}});
(順便需要去掉對應(yīng)列的樣式)
2).若是第五列需要自定義排序方式,第六列不排序,代碼如下:
$.tablesorter.addParser({ id: "grade", //指定一個唯一的ID is: function(s){ return false; }, format: function(s){ return s.toLowerCase().replace(/已作廢/,1).replace(/待審核/,2).replace(/已審核/,3).replace(/已生效/,4); //將中文換成數(shù)字 }, type: "numeric" //按數(shù)值排序 }); $("#mytable").tablesorter({headers:{4:{sorter:"grade"},5:{sorter:false}}});
需要更多例子,可以到官網(wǎng)研究。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Elementui表格組件+sortablejs實(shí)現(xiàn)行拖拽排序的示例代碼
- JS簡單數(shù)組排序操作示例【sort方法】
- 深入了解javascript 數(shù)組的sort方法
- jQuery實(shí)現(xiàn)使用sort方法對json數(shù)據(jù)排序的方法
- 基于js 各種排序方法和sort方法的區(qū)別(詳解)
- JavaScript中數(shù)組Array.sort()排序方法詳解
- vue2.0使用Sortable.js實(shí)現(xiàn)的拖拽功能示例
- jquery.tableSort.js表格排序插件使用方法詳解
- JS sort方法基于數(shù)組對象屬性值排序
相關(guān)文章
js設(shè)置隨機(jī)切換背景圖片的簡單實(shí)例
下面小編就為大家?guī)硪黄猨s設(shè)置隨機(jī)切換背景圖片的簡單實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11基于JavaScript實(shí)現(xiàn)熔巖燈效果導(dǎo)航菜單
這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)熔巖燈效果導(dǎo)航菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01JavaScript標(biāo)準(zhǔn)對象_動力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了JavaScript標(biāo)準(zhǔn)對象的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06javascript中兼容主流瀏覽器的動態(tài)生成iframe方法
這篇文章主要介紹了javascript中兼容主流瀏覽器的動態(tài)生成iframe方法,需要的朋友可以參考下2014-05-05List the Codec Files on a Computer
List the Codec Files on a Computer...2007-06-06實(shí)現(xiàn)js保留小數(shù)點(diǎn)后N位的代碼
最近在做項(xiàng)目的時候,遇到要保留小數(shù)點(diǎn)后N位的問題,經(jīng)過一番思索,最終完成了,這里記錄一下,下次需要直接就能拉出來用了2014-11-11使用javascript實(shí)現(xiàn)Iframe自適應(yīng)高度
這篇文章主要介紹了使用javascript實(shí)現(xiàn)Iframe自適應(yīng)高度,需要的朋友可以參考下2014-12-12