最近,因为项目需要,对表格排序做了一下摸索,整理如下:
成都网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序、集团成都定制网页设计等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都火锅店设计等众多领域,积累了大量丰富的经验,同时也获得了客户的一致夸奖!
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.建立一个表格,格式如下:
jquery.tablesorter
First Name | Last Name | Age | Total | Discount | Date | State |
---|---|---|---|---|---|---|
Peter | Parker | 28 | $9.99 | 20% | Jul 6, 2006 8:14 AM | 已审核 |
John | Hood | 33 | $19.99 | 25% | Dec 10, 2002 5:14 AM | 已审核 |
Clark | Kent | 18 | $15.89 | 44% | Jan 12, 2003 11:14 AM | 已作废 |
Bruce | Almighty | 45 | $153.19 | 44% | Jan 18, 2001 9:12 AM | 待审核 |
Bruce | Evans | 22 | $13.19 | 11% | Jan 18, 2007 9:12 AM | 已生效 |
页面显示如图所示:
点击表头,就能够排序。
注:
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}}});
需要更多例子,可以到官网研究。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。