sorter.java_表格排序——tablesorter.js使用(支持中文排序)

最近,因为项目需要,对表格排序做了一下摸索,整理如下:

1. 首先,可从官网下载tablesorter.js,但并不支持中文的排序,对其源码进行修改:

部分源码:

function sortText(a, b) {

return ((a  b) ? 1 : 0));

};

function sortTextDesc(a, b) {

return ((b  a) ? 1 : 0));

};

修改后:

function sortText(a,b) {

return a.localeCompare(b);

};

function sortTextDesc(a,b) {

return b.localeCompare(a);

};

修改完之后的js可支持中文的排序。

2.建立一个表格,格式如下:

jquery.tablesorter

$("#mytable").tablesorter();

First NameLast NameAgeTotalDiscountDateState

PeterParker28$9.9920%Jul 6, 2006 8:14 AM已审核JohnHood33$19.9925%Dec 10, 2002 5:14 AM已审核ClarkKent18$15.8944%Jan 12, 2003 11:14 AM已作废BruceAlmighty45$153.1944%Jan 18, 2001 9:12 AM待审核BruceEvans22$13.1911%Jan 18, 2007 9:12 AM已生效

页面显示如图所示:

49a0a060305e6a19155d39aab57cb4ea.png

点击表头,就能够排序。

注:

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}}});

需要更多例子,可以到官网研究。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值