2016-06-17 4 views
-1

やあみんな私は、私はいつもの下部にある最初の列に「NA」の値を残し、カスタムソートjQueryのDataTableのカスタムソート

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

を必要とし、このデータテーブル

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 
    }] 

}); 

を得ました表。 NAが底値で固定されているかどうかは関係ありません。

答えて

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; 
    } 

...奇妙なインデントに先行謝罪