Я использую таблицы данных плагин jQuery и хочу к sorty датами.
Я знаю, что они получили плагин, но я не могу найти, где на самом деле загрузить его с
http://datatables.net/plug-ins/sorting
Я полагаю, что мне нужен этот файл: dataTables.numericComma.js все же, я не могу найти его нигде и когда я загружаю таблицы данных, это, кажется, не находится в zip-файле.
Я также не уверен, должен ли я сделать своего собственного сортировщика даты для передачи в этот плагин.
Я пытаюсь отсортировать этот формат MM/DD/YYYY HH:MM TT (AM |PM)
Спасибо
Править
Как я могу изменить это на вид MM/DD/YYYY HH:MM TT (AM |PM) и изменить его на американскую дату?
jQuery.fn.dataTableExt.oSort['uk_date-asc'] = function(a,b) {
var ukDatea = a.split('/');
var ukDateb = b.split('/');
var x = (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
var y = (ukDateb[2] + ukDateb[1] + ukDateb[0]) * 1;
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
};
jQuery.fn.dataTableExt.oSort['uk_date-desc'] = function(a,b) {
var ukDatea = a.split('/');
var ukDateb = b.split('/');
var x = (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
var y = (ukDateb[2] + ukDateb[1] + ukDateb[0]) * 1;
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
};
Щелкните ссылку «показать подробности» в разделе Дата (дд / мм / ГГГ) , затем вы можете скопировать и вставить предоставленный там код подключаемого модуля
Обновление: Я думаю, вы можете просто изменить порядок массива, например:
jQuery.fn.dataTableExt.oSort['us_date-asc'] = function(a,b) {
var usDatea = a.split('/');
var usDateb = b.split('/');
var x = (usDatea[2] + usDatea[0] + usDatea[1]) * 1;
var y = (usDateb[2] + usDateb[0] + usDateb[1]) * 1;
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
};
jQuery.fn.dataTableExt.oSort['us_date-desc'] = function(a,b) {
var usDatea = a.split('/');
var usDateb = b.split('/');
var x = (usDatea[2] + usDatea[0] + usDatea[1]) * 1;
var y = (usDateb[2] + usDateb[0] + usDateb[1]) * 1;
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
};
Все, что я сделал, это переключил __ date_ [1]
(день) и __ date_ [0]
(месяц ) и заменил uk
на us
, чтобы вы не запутались. Я думаю, это должно позаботиться об этом за вас.
Обновление №2: у вас должна быть возможность просто использовать объект даты для сравнения. Попробуйте это:
jQuery.fn.dataTableExt.oSort['us_date-asc'] = function(a,b) {
var x = new Date(a),
y = new Date(b);
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
};
jQuery.fn.dataTableExt.oSort['us_date-desc'] = function(a,b) {
var x = new Date(a),
y = new Date(b);
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
};