我有以下大型html表: https://gist.github.com/hbizira/21016ff3df67fdae3969
我正在使用datetime-moment数据表插件。在上面的文件的末尾,我有以下javascript代码:
$(document).ready(function() {
$.fn.dataTable.moment( 'MM/DD/YYYY hh:mm A');
window.dataTable = $('#leads').dataTable({
displayLength: 25,
lengthChange: false,
statesave: false
}).columnFilter([
{ column_number: 1, filter_type: "range_date", filter_container_id: "leads_filter_date_range", filter_default_label: [ "From", "To" ] },
{ column_number: 11,
filter_type: 'custom_func',
custom_func: customStatusFilter,
data: [
{ value: 'pending', label: 'Pending' },
{ value: 'qualified', label: 'Qualified' },
{ value: 'pending_and_qualified', label: 'Both Pending & Qualified' }
],
filter_container_id: "leads_filter_status",
filter_default_label: ""
},
]
);
});
然而,"采取的最后行动"专栏似乎没有正确排序。当我尝试按该列中最近的条目排序时,2015年的条目不会出现。
答案 0 :(得分:6)
由于日期字符串moment.js
返回Date.parse()
能',您可以执行此操作:
columnDefs : [
{ type : 'date', targets : [13] }
],
现在列正确排序。
使用github中的(大多数)表进行演示 - >的 http://jsfiddle.net/t6snpgkf/ 强>
我相信,但在这种情况下尚未测试过,dataTables确定该列的类型为string
,因为它包含空值 - 因此您必须强制date
类型。