DataTables и moment.js неправильно сортируют по дате - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь использовать информацию о https://datatables.net/blog/2014-12-18, чтобы заставить DataTables сортировать столбец дат в формате dd/mm/yyyy, например, 11/10/2018 (представляющий 11 октября 2018 г.).

Я включил следующие сценарии - в следующем порядке:

  • jquery.dataTables.1.10.7.min.js (локально размещен)
  • // cdn.datatables.net/plug-ins / 1.10.19 / sorting / datetime-moment.js
  • moment.js (версия 2.10.3, локально размещена)

Моя инициализация DataTables выглядит так, каксогласно приведенной выше ссылке:

$(document).ready(function() {
    $.fn.dataTable.moment( 'd/m/Y' );

    $('#coursesTable').DataTable({"searching": false
    });
});

Но когда я нажимаю заголовок даты в моем #coursesTable, он выдает следующий вывод:

enter image description here

Очевидно, что это неправильно, потому что если даты упорядочены в хронологическом порядке - сначала самые последние - тогда 06/09/2017 должны появляться до 07/08/2017 - но это не тот порядок, в котором они появляются.

При заказеих другой путь (сначала самый старый) выдает ту же ошибку - т.е. порядок все еще неправильный:

enter image description here

Я не могу понять, почему это происходит?

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Документация действительно расплывчатая, но вам все равно нужно определить столбец type:

columnDefs: [{
  target: 0, //index of column
  type: 'datetime-moment'
}]

И в качестве комментария @DavidCzadilek вам нужно использовать другой формат даты $.fn.dataTable.moment('D/M/YYYY') (рекомендуемый DD/MM/YYYY будет не работать)

http://jsfiddle.net/xmhn4wpj/

0 голосов
/ 11 октября 2018

Попробуйте изменить формат на этот, в соответствии с Документация Moment.js :

$.fn.dataTable.moment( 'DD/MM/YYYY' );

Вот рабочая скрипка: http://jsfiddle.net/4f275sa1/

Как подсказывает @davidkonrad, columnDefs не нужны.И «ДД / ММ / ГГГГ» является правильным форматом в этом случае, потому что в вопросе используются дни и месяцы с ведущими нулями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...