jQuery datatables中文排序

    最近遇到一个难题,就是jQuery dataTables列排序问题。

    原始的排序是按照英文排序的,数字和英文都排序正常,碰到中文汉字就排序乱了,不是按照中文拼音来排序的(据说是按照五笔来排的,此说法待验证,没具体查资料),所以非常不符合中国人的使用习惯。

    经过研究,可以使用localeCompare来排序,

     方法1:具体做法就是修改jQuery.dataTables里面的sort函数,把“return x<y ? -1 : x>y ? 1 : 0;”改成使用localeCompare。注意,修改的时候,如果两个全部是数字,那就不调用localeCompare了,如果需要调用,需要使用x+""。

     方法2:(此方法转自:http://tlhl28.is-programmer.com/posts/18816.html)

// oSort 是排序类型数组, 'chinese-asc' 是自己定义的类型的排序(*-asc || *-desc)名称.
// 插件应该会根据表格中的内容的类型(string, number, chinese :) ),
// 比如: chinese类型的用 oSort['chinese-asc'] 方法进行比较排序。所以下面定义类型的时候要和这里对上。
//用oSort对应的function 来进行比较排序.
// 所以,function 里是自定义的比较方法.
jQuery.fn.dataTableExt.oSort[ 'chinese-asc' ]  = function
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值