0
我正在使用jQuery DataTables,試圖用2種不同的日期類型對數據列進行排序。jquery數據表日期排序
我有2個不同的格式月/年和日/月/年,但他們沒有正確排序。
當前代碼:
function dateSorter(a, b) {
var datea = a.split("/");
var dateb = b.split("/");
if (datea[1] > dateb[1]) return 1;
if (datea[1] < dateb[1]) return -1;
if (datea[0] > dateb[0]) return 1;
if (datea[0] < dateb[0]) return -1;
if(datea.length == 2)
{
if (datea[2] > dateb[2]) return 1;
if (datea[2] < dateb[2]) return -1;
}
else
{
if(datea[1] > dateb[2]) return 1;
if(datea[2] < dateb[1]) return -1;
}
return 0;
}
以上是當前的代碼,它適用於月/年的格式,並對其排序罰款,但與這兩種格式混合。
目前這種方法從日/月/年格式排序日/月,但它不能正確排序。
例如(電流):
03/04/2016
12/04/2017
12/05/2015
01/2015
02/2015
02/2016
01/2018
...
它應該是:
01/2015
02/2015
12/05/2015
02/2016
03/04/2016
12/04/2017
01/2018
+1,相信會起作用,但它也是基於對自定義排序插件的一個典型誤解:同時使用'-pre' _and_'-asc'和'-desc'函數沒有多大意義。要麼你有一個'-pre'函數爲dataTables自動檢測的基於類型的排序提供固定值,**或**你有'-asc'和'-desc'方法來完成工作。你不能擁有兩個。試一試這個代碼,我相信'date-time-odd-asc'和'date-time-odd-desc'永遠不會被執行。我也有過這種誤解,許多舊插件也包含這種冗餘。 – davidkonrad
現在我不知道,謝謝@davidkonrad – annoyingmouse