JQuery TableSorter для другого формата даты - PullRequest
6 голосов
/ 29 июня 2010

В табличном сортировщике jQuery doc http://tablesorter.com/docs/ у нас есть дата в Jan 18, 2001 9:12 AM в этом формате.

Если я изменяю эту дату на формат January 12, 2010, сортировка не выполняется.

Может кто-нибудь помочь, пожалуйста?

1 Ответ

9 голосов
/ 09 июля 2010

Плагин Jquery TableSorter по умолчанию понимает форматы дат usLongDate и shordDate.

Вот почему он не понимает формат 12 января 2010 года. Если вы действительно хотите использовать этот формат, то правильным решением будетчтобы добавить свой собственный анализатор для этого пользовательского формата.

проверьте ссылку, чтобы помочь вам написать собственный анализатор .

В источнике таблиц, найдите shortDateи анализатор формата usLongDate и попробуйте добавить свой собственный анализатор.

jquery.tablesorter.js

Вы также можете попробовать этот, он должен работать,

ts.addParser({
        id: "customDate",
        is: function(s) {
            return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, [0-9]{4}|'?[0-9]{2}$/));
        },
        format: function(s) {
            return $.tablesorter.formatFloat(new Date(s).getTime());
        },
        type: "numeric"
    });

когда вы добавляете его в исходный код вашего таблиц и обновляете таблицу в браузере, он автоматически идентифицирует столбец, и сортировка будет работать.если это не сработает, примените его к столбцу, где у вас есть этот формат, например

$(function() {
    $("table").tablesorter({
        headers: {
            4: { sorter:'customDate' }
        }
    });
}); 
...