如何修复DataTables 1.10中非美国字母(如š,č,ť
)的排序?
例如,"š"
类似于"s"
,但是现在这些字符(以这些字符开头的单词)在结尾(在A-Z之后)。
对于DataTables 1.10版,我需要它。
最佳答案
这对测试用例,奇数值示例,有关您的语言环境和语言的一些信息等确实有帮助。但是,我认为您可以通过在自定义排序插件中使用localeCompare()
来简单地解决此问题,指定您的语言环境,这一点非常重要:将sensitivity
级别设置为'accent'
:
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"locale-compare-asc": function ( a, b ) {
return a.localeCompare(b, 'da', { sensitivity: 'accent' })
},
"locale-compare-desc": function ( a, b ) {
return b.localeCompare(a, 'da', { sensitivity: 'accent' })
}
});
用法
var table = $('#example').DataTable({
columnDefs : [
{ targets: 0, type: 'locale-compare' }
]
})
如前所述,不能确定-OP中的信息稀疏,但是从理论上讲,这在大多数情况下是可以完成的。至少对我有用。请记住要传递有效的
locale
字符串,da
(丹麦语)仅用于示例目的。演示-> http://jsfiddle.net/rc4wxnc7/