我正在尝试使用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/
任何想法如何解决这个问题?
答案 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');
}
}]
});