数据表排序日期不适用于FF

时间:2018-03-21 11:49:16

标签: javascript cross-browser

我正在尝试使用datatable.js和moment.js来排序表上的日期。它在Chrome浏览器上运行良好,但不适用于Firefox。

以下是供审核的代码。

$.fn.dataTable.moment('MM, DD, YY');
$('#dataTable').DataTable( {
    info: false,
    paging: false,
    searching: false,
});

此处还有查看结果的链接 https://jsfiddle.net/8phz4rn2/24/

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您的方向是正确的,因为您试图从给定字符串中解析日期并将其显示在表格中。这里的问题是DataTable不知道您之前执行的任何moment操作,因此它将行值显示为原始字符串。因此,列按字符串排序,而不是日期。

您必须将字符串转换为DataTable render函数内的日期,然后才将其显示在屏幕上。

$('#dataTable').DataTable({
  info: false,
  paging: false,
  searching: false,

  "columnDefs": [{
    "targets": 0,    // column index, 0 means the first column
    "render": function(data) {
      return moment(data, 'MM/DD/YY').format('MM/DD/YY');
    }
  }]
});