【问题标题】:utf8 Nepali numbers sorting error on jQuery dataTablesjQuery dataTables上的utf8尼泊尔数字排序错误
【发布时间】:2014-11-11 02:27:51
【问题描述】:

我没有遇到过这样的错误。

我通常用英文制作浏览器应用程序。最近,我不得不用尼泊尔语申请。但我面临的问题是在使用数据表对尼泊尔数据进行排序时。对于字符来说它工作得很好,而当我不得不用它来排序数字时,它对我不起作用。我想可以正确地对 Napeli 数字进行排序。

例如:- 表格应显示如下
s.n
१(即 1)
२(即 2)
३(即 3)
.
.
१०(即 10)
११(即 11)


而是显示
s.n.
१(即 1)
१०(即 10)
११(即 11)
१२(即 12)
.
.
.
२(即 2)
२०(即 20)
२१(即 21)

【问题讨论】:

    标签: sorting datatable datatables jquery-datatables


    【解决方案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' }
        ]
    });
    

    演示 -> http://jsfiddle.net/jqwo3ct7/

    【讨论】:

    • 嘿@SIdG'tAm - 答案正确吗?如果答案是错误的,什么没有解决?如果您接受答案,您将获得闪亮的学者徽章:)
    • 抱歉,我刚出去工作就没有回复...非常感谢您的帮助...它对我有用...感谢支持
    猜你喜欢
    • 2020-11-29
    • 1970-01-01
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 2021-12-26
    相关资源
    最近更新 更多