首页 文章

jQuery Datatable自定义排序

提问于
浏览
-1

嘿家伙所以我得到了这个数据表

var oTable = $("#products").dataTable({
    "aaData": [
        [1, "TEST1", "A"],
        ['NA', "NA1", "B"],
        ['NA', "NA2", "C"],
        [4, "TEST2", "D"]
    ],
    "aoColumns": [{
        "sWidth": "70%",
        "sClass": "center",
        "bSortable": true,
        "sType": "rankedNA"

    }, {
        "sWidth": "70%",
        "sClass": "center",
        "bSortable": false
    }, {
        "sWidth": "70%",
        "sClass": "center",
        "bSortable": false
    }]

});

我需要一个自定义排序

jQuery.fn.dataTableExt.oSort['rankedNA-asc']  = function(a, b) {
        return rankedNASort(a, b);
    };

这总是在表格底部的第一列留下“NA”值 . 无论是asc还是desc,NA都应固定在底部

1 回答

  • 0

    是的...我有点解决了它不知道为什么会得到负面的回应,对于为什么要评论会很酷 . 无论如何,如果有人需要它,这就是答案 .

    jQuery.fn.dataTableExt.oSort["duration-desc"] = function (a, b) {
        const z = naturalSort(a, b, 2) * -1;
        return z;
    };
    
    jQuery.fn.dataTableExt.oSort["duration-asc"] = function (a, b) {
        return naturalSort(a, b, 1);
    }
    function naturalSort (a, b, c) {
        if(a === 'NA') { 
          if(c == 2) {
           return 0
          } else {
           return 10000;
          }
        }
            const a2 = parseInt(a);
            const b2 = parseInt(b);
            return a2 - b2;
        }
    

    为这个奇怪的缩进事先道歉...

相关问题