我没有遇到任何错误。
我通常用英语制作浏览器应用程序。最近,我不得不用尼泊尔语进行申请。但我遇到的问题是使用数据表来排序尼泊尔数据。对于它运作良好的角色,而当我不得不用它来排序数字时,它对我来说不起作用。我想可以正确地对Napeli数字进行排序。
例如: - 表格应如下所示
s.n
1(即1)
2(即2)
3(即3)
。
。
10(即10)
11(即11)
但相反它显示
S.N.
1(即1)
10(即10)
11(即11)
12(即12)
。
。
。
2(即2)
20(即20)
21(即21)
答案 0 :(得分:1)
您必须创建自定义排序插件才能执行此操作。这非常简单,因为尼泊尔字符可以立即映射到拉丁语1:1。正如您所指出的那样,१
为1
,११
为11
,依此类推。因此,在比较数字之前,只需逐个“翻译”尼泊尔字符。
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"nepali-sort-pre" : function(a) {
function nepaliToLatin(nepali) {
switch (nepali) {
case "०": return 0; break;
case "१": return 1; break;
case "२": return 2; break;
case "३": return 3; break;
case "४": return 4; break;
case "५": return 5; break;
case "६": return 6; break;
case "७": return 7; break;
case "८": return 8; break;
case "९": return 9; break;
default : return 0; break;
}
}
var latin = '';
for (var i=0;i<a.length;i++) {
latin+=nepaliToLatin(a.charAt(i));
}
return parseInt(latin);
},
"nepali-sort-asc": function( a, b ) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"nepali-sort-desc": function(a,b) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
});
用法示例:
var table = $('#example').DataTable({
aoColumns: [
{ sType: 'nepali-sort' }
]
});
演示 - &gt;的 http://jsfiddle.net/jqwo3ct7/ 强>