【发布时间】:2019-11-12 19:42:39
【问题描述】:
除日期外的所有事物的数据表排序。仅按日期(天)排序,而不考虑其月份。 我有来自数据库的(DD-MM-YYYY)格式的日期。但有些日期也在另一个月之间。
我用过 Jquery (jquery-3.3.1.js) 和 Datatable (datatables_1.10.19.js)
$(document).ready(function (){
var rows_selected = [];
var bookid_value = [];
var table = $('#example').DataTable({
"language": {
"search": ' ',
"searchPlaceholder": "Search",
},
lengthChange: false,
"scrollY": "1000px",
"scrollCollapse": true,
"paging": false,
'columnDefs': [{
'targets': 1,
'searchable': true,
'orderable': false,
'width': '1%',
'bSort': true,
"type": 'date'
}],
'order': [[1, 'asc']],
'rowCallback': function(row, data, dataIndex){
var rowId = data[0];
if($.inArray(rowId, rows_selected) !== -1){
$(row).find('input[type="checkbox"]').prop('checked', true);
$(row).addClass('selected');
}
}
});
});
输出:(排序后)
31-08-2019
31-07-2019
31-08-2019
25-07-2019
31-08-2019
08-07-2019
31-08-2019
04-07-2019
31-08-2019
10-07-2019
10-07-2019
13-07-2019
15-07-2019
31-08-2019
31-08-2019
【问题讨论】:
-
数据表无法识别您的日期格式。你可以用谷歌搜索数据表排序日期,你会意识到:这些日期是作为字符串而不是日期来管理的。所以这种排序是正确的(对于字符串)。
标签: javascript jquery arrays sorting datatables