Сортировка значений даты с помощью плагина Datatable jQuery - PullRequest
0 голосов
/ 01 марта 2012

Я использую датируемый плагин jQuery; он отлично работает при сортировке столбцов, содержащих текст и числа, но у меня есть проблема с сортировкой столбцов, содержащих значения даты.

Например, когда я нажимаю на столбец даты, я получаю:

01-03-2012
27-02-2012
29-02-2012
...
...

Однако реальный порядок должен быть таким:

01-03-2012
29-02-2012
27-02-2012

Примечание: я использую французский формат даты d-m-Y.

1 Ответ

1 голос
/ 01 марта 2012

Вы смотрели на страницу Сортировка плагинов ?

Следующая информация скопирована непосредственно с этой страницы. Возможно, вам придется немного подправить код (например, разделив на - вместо / и т. Д.), Но большая часть работы сделана для вас:

Дата (дд / мм / ГГ)

Внутренняя сортировка дат в DataTables отвечает на Date.parse (), который является частью языка Javascript, но вы можете отсортировать по датам, которые не узнает Ниже приведен плагин для сортировки дат в формат дд / мм / гг. Обратите внимание, что плагин для определения типа предоставляется автоматически выбирайте этот тип сортировки при необходимости.

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));
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...