Jquery datatable中文排序问题

本文介绍如何为jqDataTable扩展中文排序功能,并提供了一个自定义排序函数的具体实现。通过使用localeCompare()函数,实现了对中文字符的有效排序。文章还提到了在不同浏览器中的表现差异,尤其是在搜狗浏览器中遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先扩展datatable的的排序功能,添加一个自定义排序函数

//为jq datatable 自定义中文排序
jQuery.fn.dataTableExt.oSort['chinese-sort-asc']  = function(s1,s2) {  
    return s1.localeCompare(s2);  
};  
jQuery.fn.dataTableExt.oSort['chinese-sort-desc'] = function(s1,s2) {  
    return s2.localeCompare(s1);  
};   
然后将自定义字段添加到 aoColumns的中文列

"aoColumns": [
	{"mDataProp": "id", "bSortable":false},
	{"mDataProp": "en_name","sType":"chinese-sort"},
]
localCompare()函数会对中文按首字母排序,经在各种浏览器测试,只有搜狗浏览器存在问题

其他浏览器

'远'.localeCompare('自')
//-1
搜狗

'远'.localeCompare('自')
//3570


参考网址 http://blog.csdn.net/wjl_mgqs/article/details/39647843




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值