Мы используем плагин для определения даты и времени Datatables (https://datatables.net/blog/2014-12-18), чтобы попытаться отсортировать столбцы даты, но не успели получить правильную сортировку дат в правильном формате. При загрузке страницы, следующий скрипт запускается:jQuery Datatables Ultimate Дата/время Сортировочный плагин
//sets the date format for datatables for sorting purposes
//reference: https://datatables.net/blog/2014-12-18
$.fn.dataTable.moment('M/D/YYYY');
/* Datatables */
$('.datatable').DataTable({
language : {
search : "_INPUT_",
searchPlaceholder : "Search...",
paginate : {
"next" : '<i class="fa fa-chevron-right"></i>',
"previous" : '<i class="fa fa-chevron-left"></i>'
}
},
responsive : {
details : {
display : $.fn.dataTable.Responsive.display.childRowImmediate,
type : 'column'
}
},
order : [0, 'desc'],
//date sorting
columnDefs:
{
targets: 'date_sortable',
render: function (data, type, full, meta) {
if(type === 'display'){
if(data){
var mDate = moment(data);
data = (mDate && mDate.isValid()) ? mDate.format("M/D/YYYY") : "";
console.log('rewrote data to ' + data);
}
}
console.log('date_sortable rendered');
return data;
}
}
});
Согласно и документации DataTables и детали, которые я нашел на этом SO пост (DataTables Ultimate date/time sorting plug-in not working with Intl formats), я добавил date_sortable
в качестве имени класса на <th />
элемент в моем HTML, но похоже, что функция render
не вызывается, так как мои записи console.log[...]
никогда не запускаются. Я вижу в сгенерированном HTML класс на моем элементе <th />
, и показанные даты находятся в правильном формате ('n/j/Y'
, на PHP), поэтому я полностью потеряю.
Все выглядит правильно, поэтому любые советы/указатели здесь? Порядок дат кажется довольно случайным по своему характеру, причем записи, содержащие даты, такие как 1/6/2016, отображаются в середине (см. Снимок экрана), что не имеет никакого смысла.
Я скажу, что эта таблица показывает ~ 2055 записей, так ли это возможно? В настоящее время это не загрузка вызовов API, поэтому все записи находятся в сгенерированном HTML в виде одного файла.
Это не случайность, это сортировка строк, а не числовая. в этом примере они отсортированы по порядку как 2, 2, 2, 6, 7 –