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

时间:2015-02-02 17:22:49

标签: jquery sorting datatable jquery-datatables

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

我的列数据是这样的:

  • AB 332
  • BC 664
  • CD 325
  • KF 576

默认情况下它会命令:

  • CD 325
  • AB 332
  • KF 576
  • BC 664

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

然后我将其扩展到" 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函数... pre在日志中打印我的列(使用console.log)。

当页面加载时,即使是&#34; pre&#34;没有加载。

当您点击列标题时:预加载,但是它和它的顺序不正确。

再次点击它时:再次预加载,但订单仍然不正确。

&#34; asc&#34;和&#34; desc&#34;日志从不打印。

编辑:: AJAX&#34; fnserverdata&#34;正在使用,并且无论何时调用该命令都会重置为AJAX数据。

1 个答案:

答案 0 :(得分:0)

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