我想显示按名为createdAt
的列排序的表,该列具有以下格式:
2015-03-09T14:46:57.678-04:00
答案 0 :(得分:1)
上述日期格式可由Date.parse()
解析。所以,如果你有这样的列:
<tbody>
<tr><td>2015-03-09T14:46:54.678-04:00</td></tr>
<tr><td>2015-03-09T14:46:55.678-04:00</td></tr>
<tr><td>2015-03-09T14:46:56.678-04:00</td></tr>
<tr><td>2015-02-09T14:46:57.678-04:00</td></tr>
<tr><td>2015-02-09T14:46:56.678-04:00</td></tr>
<tr><td>2015-03-10T02:46:57.678-04:00</td></tr>
<tr><td>2015-03-11T14:41:57.678-04:00</td></tr>
<tr><td>2015-03-09T12:46:57.678-04:00</td></tr>
<tr><td>2015-03-09T01:46:57.678-04:00</td></tr>
</tbody>
您可以制作一个简单的自定义排序插件,并将其用于该特定列:
$.fn.dataTableExt.oSort['time-date-sort-pre'] = function(value) {
return Date.parse(value);
};
$.fn.dataTableExt.oSort['time-date-sort-asc'] = function(a,b) {
return a-b;
};
$.fn.dataTableExt.oSort['time-date-sort-desc'] = function(a,b) {
return b-a;
};
var table = $('#example').DataTable({
columnDefs : [
{ type: 'time-date-sort',
targets: [0]
}
]
});
演示 - &gt;的 http://jsfiddle.net/kkrqzvx4/ 强>