tablesorter.js表格排序使用方法(支持中文排序)
最近,因?yàn)轫?xiàng)目需要,對(duì)表格排序做了一下摸索,整理如下:
1. 首先,可從官網(wǎng)下載tablesorter.js,但并不支持中文的排序,對(duì)其源碼進(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.建立一個(gè)表格,格式如下:
<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>
頁(yè)面顯示如圖所示:

點(diǎn)擊表頭,就能夠排序。
注:
1).若是第五列、第六列不需要排序,代碼如下:
$("#mytable").tablesorter({headers:{4:{sorter:false},5:{sorter:false}}});
(順便需要去掉對(duì)應(yīng)列的樣式)
2).若是第五列需要自定義排序方式,第六列不排序,代碼如下:
$.tablesorter.addParser({
id: "grade", //指定一個(gè)唯一的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)研究。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Elementui表格組件+sortablejs實(shí)現(xiàn)行拖拽排序的示例代碼
- JS簡(jiǎn)單數(shù)組排序操作示例【sort方法】
- 深入了解javascript 數(shù)組的sort方法
- jQuery實(shí)現(xiàn)使用sort方法對(duì)json數(shù)據(jù)排序的方法
- 基于js 各種排序方法和sort方法的區(qū)別(詳解)
- JavaScript中數(shù)組Array.sort()排序方法詳解
- vue2.0使用Sortable.js實(shí)現(xiàn)的拖拽功能示例
- jquery.tableSort.js表格排序插件使用方法詳解
- JS sort方法基于數(shù)組對(duì)象屬性值排序
相關(guān)文章
Javacript實(shí)現(xiàn)顏色梯度變化和漸變的效果代碼
用js對(duì)導(dǎo)航欄的顏色做了梯度的變化處理,通過(guò)處理..獲取兩種顏色在變化時(shí)的各種顏色字符串,并且字符串的個(gè)數(shù),即獲取的頻率可以調(diào)節(jié)2013-05-05
深入剖析JavaScript中的函數(shù)currying柯里化
下面小編就為大家?guī)?lái)一篇深入剖析JavaScript中的函數(shù)currying柯里化。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧2016-04-04
bootstrap 模態(tài)框(modal)實(shí)現(xiàn)水平垂直居中顯示
這篇文章主要為大家詳細(xì)介紹了bootstrap 模態(tài)框modal實(shí)現(xiàn)水平垂直居中顯示,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
JavaScript實(shí)現(xiàn)數(shù)據(jù)類型的相互轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)數(shù)據(jù)類型的相互轉(zhuǎn)換,感興趣的朋友可以參考一下2016-03-03
JavaScript 浮動(dòng)定位提示效果實(shí)現(xiàn)代碼
本來(lái)想做一個(gè)集合浮動(dòng)定位和鼠標(biāo)跟隨的tooltips效果,但發(fā)現(xiàn)定位和鼠標(biāo)跟隨在一些關(guān)鍵的地方還是不同的,還是分開(kāi)來(lái)吧。2009-09-09

