排序货币数据表

时间:2013-03-08 14:36:43

标签: jquery datatables

我正在尝试使用datatables插件对列进行排序。

该栏目包含:

10 €
20 €
200 €
1000 €
200 €
200.20 €
10.30 €

问题未正确排序并将其作为字符串。 我正在使用此代码但不起作用:

jQuery.extend( jQuery.fn.dataTableExt.oSort, {
    "formatted-num-pre": function ( a ) {
        a = (a==="-") ? 0 : a.replace( /[^\d\-\.]/g, "" );
        return parseFloat( a );
    },

    "formatted-num-asc": function ( a, b ) {
        return a - b;
    },

    "formatted-num-desc": function ( a, b ) {
        return b - a;
    }
} );

问候和感谢。

1 个答案:

答案 0 :(得分:1)

您还需要在调用dataTable时(在声明之后)将列链接到插件类型。例如,如果它是你的第三列(因此两个null s)做这样的事情:

$(document).ready(function() {
    $('#table-id').dataTable({
        "aoColumns": [
            null,
            null,
            { "sType": "formatted-num" }
        ]
    });
} );

或者,您可以使用type detection plug-in自动计算每列的类型