【问题标题】:Jquery datatable datetime-moment plugin not sorting properlyJquery datatable datetime-moment插件没有正确排序
【发布时间】:2015-11-25 06:10:33
【问题描述】:

我有以下大型 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

【问题讨论】:

    标签: jquery sorting datatables momentjs


    【解决方案1】:

    由于moment.js 返回的日期字符串是Date.parse()able',您可以这样做:

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

    现在该列已正确排序。

    使用来自 github 的(大部分)表格进行演示 -> http://jsfiddle.net/t6snpgkf/

    我相信,但没有在这种情况下对其进行测试,dataTables 确定该列的类型为 string,因为它包含空值 - 因此您必须强制使用 date 类型。

    【讨论】:

      猜你喜欢
      • 2019-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-09
      相关资源
      最近更新 更多