2016-06-13 83 views
1

如何修复DataTables 1.10中非美国字母如š,č,ť的排序?DataTables - 非英文字母在1.10中排序

例如,"š"就像"s",但现在这些字符(以这些字符开头的单词)在最后(在A-Z之后)。

我需要它为DataTables版本1.10。

回答

2

这对测试用例,奇数值的例子,关于您的语言环境和语言的一些信息等都会有帮助。不过,我认为,你可以简单地通过一个自定义排序插件使用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/

+0

**非常感谢您对我们的支持**,它的伟大工程! – adminko