使用datatables 中文排序

Posted 教父123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用datatables 中文排序相关的知识,希望对你有一定的参考价值。

// oSort是排序类型数组, ‘chinese-asc‘是自己定义的类型的排序(*-asc || *-desc)名称
// 插件应该会根据表格中的内容的类型(string, number, chinese)进行比较排序,
// 如果以chinese类型来排序则用oSort[‘chinese-asc‘]和oSort[‘chinese-desc‘]的方法
// oSort对应的function里面自定义比较方法
jQuery.fn.dataTableExt.oSort[‘chinese-asc‘] = function(x,y) {
//javascript自带的中文比较函数,具体用法可自行查阅了解
return x.localeCompare(y);
};

jQuery.fn.dataTableExt.oSort[‘chinese-desc‘] = function(x,y) {
return y.localeCompare(x);
};

// aTypes是插件存放表格内容类型的数组
// reg赋值的正则表达式,用来判断是否是中文字符
// 返回值push到aTypes数组,排序时扫描该数组,‘chinese‘则调用上面两个方法。返回null默认是‘string‘
jQuery.fn.dataTableExt.aTypes.push(function(sData) {
var reg =/^[\u4e00-\u9fa5]{0,}$/;
if(reg.test(sData)) {
return ‘chinese‘;
}
return null;
});

 

 

前端使用 也是最重要的哦~方法有了就是不怎么用  是不是很头疼呢。。。

 

"columnDefs":
[


{ "aTypes": "chinese-asc", "aTargets": [0] }这里指的是表格的第零列  前提是第零列是中文

 

]  so easy

以上是关于使用datatables 中文排序的主要内容,如果未能解决你的问题,请参考以下文章

使用 Jquery Datatables 对数据排序属性中的值进行自定义排序

如何从 DataTables 中删除排序选项?

DataTables:按纪元时间排序

Angular Material 2 DataTable 使用嵌套对象排序

使用 jQuery DataTables 恢复原始排序顺序

如何按日期对 DataTable 列进行排序