数据表自定义排序(仅预激活)

datatables custom sort (only pre activates)

我在该列上有一些由 sType: "my-num-html" 定义的自定义排序代码。

我的专栏数据是这样的:

它默认这样排序:

它完全忽略了这些字母...我试图让它不忽略这些字母。

然后我在"dataTables.naturalSort.js"

中扩展了它
jQuery.extend(jQuery.fn.dataTableExt.oSort, {
        "my-num-html-pre": function (a) {
            console.log("my-num-html pre");
            var x = String(a).replace(/<[\s\S]*?>/g, "");
            console.log("nh: " + x);
            return x;
        },

    "my-num-html-asc": function (a, b) {
        console.log("my-num-html asc");
        return naturalSort(a, b); //((a < b) ? -1 : ((a > b) ? 1 : 0));
    },

    "my-num-html-desc": function (a, b) {
        console.log("my-num-html desc");
        return naturalSort(a, b) * -1; //((a < b) ? 1 : ((a > b) ? -1 : 0));
    }
});

问题是它不应该忽略这些字母并且应该打印 asc/desc 函数...预打印我在日志中的列(使用 console.log)。

当页面加载时,即使 "pre" 也不会加载。

当您单击 header 列时:预加载,仅此而已,而且顺序不正确。

再次点击时:再次预加载,但顺序仍然不正确。

永远不会打印 "asc" 和 "desc" 日志。

EDIT:: AJAX "fnserverdata" 正在被使用,每当调用它时,订单都会重置回 AJAX 数据。

原来它是通过服务器端排序的,我不能说为什么它没有激活该代码。我仍然没有弄清楚为什么它之后不使用自定义排序进行排序。