自定义排序Jquery DataTables

时间:2014-10-11 22:16:35

标签: jquery datatables

我正在尝试创建一个自定义排序系统,以使用特殊的alpha数字格式对行进行排序

列中的数据是距离标注,例如“1.79英里”,“10.21英里”或“9.21英里”

我的问题是,当我对desc进行排序时,它将把10.21放在10.21之后。

我正在使用以下代码。

aaSorting = [[3,'desc']];

我假设我必须使用aoColumnDefs和sType创建特殊定义,但我似乎无法弄清楚它们。

1 个答案:

答案 0 :(得分:1)

您可以添加自己的插件进行排序。

查看其他示例https://datatables.net/plug-ins/sorting/

jQuery.extend(jQuery.fn.dataTableExt.oSort, {
    "distance-pre": function (a) {
        var x = (a == "-") ? 0 : a.replace(/mi/, "");
        return parseFloat(x);
    },

    "distance-asc": function (a, b) {
        return ((a < b) ? -1 : ((a > b) ? 1 : 0));
    },

    "distance-desc": function (a, b) {
        return ((a < b) ? 1 : ((a > b) ? -1 : 0));
    }
});

用法

type: 'distance'