时间:2021-05-26
最近,因为项目需要,对表格排序做了一下摸索,整理如下:
1. 首先,可从官网下载tablesorter.js,但并不支持中文的排序,对其源码进行修改:
部分源码:
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>页面显示如图所示:
点击表头,就能够排序。
注:
1).若是第五列、第六列不需要排序,代码如下:
$("#mytable").tablesorter({headers:{4:{sorter:false},5:{sorter:false}}});(顺便需要去掉对应列的样式)
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); //将中文换成数字 }, type: "numeric" //按数值排序});$("#mytable").tablesorter({headers:{4:{sorter:"grade"},5:{sorter:false}}});需要更多例子,可以到官网研究。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
中文汉字排序、中英文混合排序、数据大小排序、文件类型排序(后缀名排序)日期时间排序、价格排序、中文混合数字排序;使用方法:文档载入后newtableListSo
本文实例讲述了Juery解决tablesorter中文排序和字符范围的方法。分享给大家供大家参考。具体分析如下:tablesorter是jQuery插件中比较优
本文实例讲述了JavaScript实现表格点击排序的方法。分享给大家供大家参考。具体分析如下:这里实现基于JS的表格点击排序效果,可以根据表格内的数据大小自动按
简介Tablesorter是一个用来直接在浏览器上对表格数据进行排序的jQuery插件,无需再次刷新页面,支持多种单元格数据类型,例如数值、字符串、日期和自定义
numpy.sort()函数该函数提供了多种排序功能,支持归并排序,堆排序,快速排序等多种排序算法使用numpy.sort()方法的格式为:numpy.sort