【问题标题】:TableSort for multiple languages多种语言的表格排序
【发布时间】:2015-04-03 07:43:29
【问题描述】:
我正在处理一个包含数据的表,我应该能够使用列对数据进行排序,因此通过单击列,它将按字母顺序对数据进行排序,依此类推。为了满足这个需求,我遇到了tablesorter jquery 库,它在对英文字母字符进行排序时工作得非常好。
但是我遇到的问题是我将有多个表,其中每个表将仅包含来自 60 个国家/地区的特定语言的特定国家/地区的数据,因此我应该可以使用英语/拉丁字符,但是我在处理俄语、中文、日语和其他语言时遇到了问题,有没有人知道在这种情况下可以帮助我的快速解决方法。
欢迎任何 cmets。
【问题讨论】:
标签:
jquery
sorting
jquery-ui-sortable
tablesorter
【解决方案1】:
如果您使用我的fork of tablesorter,您可以设置textSorter option 以使用替代排序算法。具体来说,here is a demo 使用 Sugar 数组排序对冰岛字母进行排序。
$(function() {
// define sugar.js Icelandic sort order
Array.AlphanumericSortOrder = 'AaÁáBbCcDdÐðEeÉéĘęFfGgHhIiÍíJjKkLlMmNnOoÓóPpQqRrSsTtUuÚúVvWwXxYyÝýZzÞþÆæÖö';
Array.AlphanumericSortIgnoreCase = true;
// see https://github.com/andrewplummer/Sugar/issues/382#issuecomment-41526957
Array.AlphanumericSortEquivalents = {};
$("table").tablesorter({
theme : 'blue',
ignoreCase : false,
textSorter : {
1 : Array.AlphanumericSort, // alphanumeric sort from sugar
}
});
});
对于俄语、中文和日语等语言,您需要修改该语言的 Array.AlphanumericSortOrder 变量。