如何使用tablesorter以便根据具有相对日期的列对表进行排序。 例如。: 我有类似的东西:
2天前
5天前
10天前
1周前
3周前
目前的排序给出了:
10天前
1周前
2天前
3周前
5天前
期望的输出:
2天前
5天前
10天前
1周前
3周前
PS:我是jQuery的新手。
答案 0 :(得分:2)
This demo使用sugar库对具有该格式的列进行排序。
/*! Sugar (https://sugarjs.com/docs/#/DateParsing)
* demo: http://jsfiddle.net/Mottie/7z0ss5xn/
*/
$.tablesorter.addParser({
id: "sugar",
is: function() {
return false;
},
format: function(s) {
// Add support for sugar v2.0+
var create = Date.create || Sugar.Date.create,
date = create ? create(s) : s ? new Date(s) : s;
return date instanceof Date && isFinite(date) ? date.getTime() : s;
},
type: "numeric"
});
/*! Datejs (http://www.datejs.com/)
* demo: http://jsfiddle.net/Mottie/zge0L2u6/
*/
$.tablesorter.addParser({
id: "datejs",
is: function() {
return false;
},
format: function(s) {
var date = Date.parse ? Date.parse(s) : s ? new Date(s) : s;
return date instanceof Date && isFinite(date) ? date.getTime() : s;
},
type: "numeric"
});