Jquery datatable datetime-moment插件未正确排序

时间:2015-11-25 06:10:33

标签: jquery sorting datatables momentjs

我有以下大型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年的条目不会出现。

http://recordit.co/1V8gzsqrso

1 个答案:

答案 0 :(得分:6)

由于日期字符串moment.js返回Date.parse()能',您可以执行此操作:

columnDefs : [
    { type : 'date', targets : [13] }
],  

现在列正确排序。

使用github中的(大多数)表进行演示 - >的 http://jsfiddle.net/t6snpgkf/

我相信,但在这种情况下尚未测试过,dataTables确定该列的类型为string,因为它包含空值 - 因此您必须强制date类型。