jQuery DataTables 的简单自定义排序功能

Wal*_*eed 2 sorting jquery datatables

数字排序不适用于我的数据集。所以我做了一个自定义排序,将整个字符串转换为数字,然后基于它进行排序,但由于某些原因它不起作用。我在这里缺少什么?

$.fn.dataTableExt.oSort["test-desc"] = function (x, y)
{

         x = parseInt(x);
        y = parseInt(y);

        if ( x < y)
        {
            return 1;
        }

        return 0;


};

$.fn.dataTableExt.oSort["test-asc"] = function (x, y)
{

    x = parseInt(x);
    y = parseInt(y);

    if ( x > y)
    {
        return 1;
    }

    return 0;

}

$('table').DataTable({
    "pageLength": 300,
    "bLengthChange": false,
    "columnDefs": [
    { "type": "test", targets: 3 }
    ]
});
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

上升和下降都无法正常工作。我已经检查过这些函数被调用并正确地将字符串转换为数字实例。

Wal*_*eed 5

jQuery DataTable 排序函数不返回 1 和 0。而是返回 1 和 -1。所以修改 sort 函数使它们完美地工作。

    $.fn.dataTableExt.oSort["test-desc"] = function (x, y)
    {

        x = parseInt(x);
        y = parseInt(y);

        if ( x > y)
        {
            return -1;
        }

        return 1;

    };

    $.fn.dataTableExt.oSort["test-asc"] = function (x, y)
    {

        x = parseInt(x);
        y = parseInt(y);

        if ( x > y)
        {
            return 1;
        }

        return -1;
    }
Run Code Online (Sandbox Code Playgroud)