我使用的是jQuery DataTable,第一列包含自定义日期范围。例如:22 Oct 2015 - 22 Nov 2015
其中22 Oct 2015
是开始日期,22 Nov 2015
是结束日期。我希望排序功能在开始日期工作。
让我解释一个场景:假设我在DataTable中有4行,第一列日期值是:
我希望以下列格式排序结果:
怎么做!
答案 0 :(得分:2)
您必须实现自己的排序插件才能执行此操作。这很简单:
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"date-range-pre": function ( a ) {
a = a.split('-')[0].trim();
return Date.parse(a);
},
"date-range-asc": function ( a, b ) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"date-range-desc": function ( a, b ) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
} );
以上简单地通过拆分字符串来提取第一个日期,然后对其进行排序。没有错误处理,即照顾空字符串等等 - 你可以自己做。用法:
var table = $('#example').DataTable({
columnDefs: [
{ type: 'date-range', targets: 0 }
]
})
演示 - &gt;的 http://jsfiddle.net/gs5syg70/ 强>