Сортировка таблиц jQuery по дате и времени не работает должным образом - PullRequest
0 голосов
/ 12 января 2011

Я использую плагин TableSorter и мне нужно отсортировать столбец, который содержит даты и время. Используя тип shortDate, столбец сортируется по дате, но не по времени, т.е. 12 января 2011 11:13 утра идет к вершине таблицы, за которой следует 12 января 2011 11:16 утра, которая должна быть на первом месте. Похоже, что сортировка по тексту, а не по дате. Я попытался использовать пользовательский парсер, как предложено на этих страницах, но он не работал. Кто-нибудь может предложить пример формата даты и времени, записанного на экране в таблице, чтобы пользовательский анализатор мог успешно сортировать по дате и времени?

Вот sql для форматирования даты:

date_format(data_invio,'%b. %e, %Y %l:%i %p')

Это код (найденный на этом сайте), который я пробовал для пользовательского парсера:

$.tablesorter.addParser({ 
id: 'dateMS', 
is: function(s) { 
    // return false so this parser is not auto detected 
    return false; 
}, 

format: function(s) { 
    var d = Date.parse(s);
    if (isNaN(d)) {
       return -1;
    }

    return d;
}, 
// set type, either numeric or text 

type: 'numeric' 
});

    $("table#ElencoRicevuti")
    .tablesorter({
    dateFormat: 'YYYY-mm-dd HH:ii:ss',
    headers: 
            {
            0: {sorter: 'dateMS'},
            4: {sorter: false}
            }
        })

1 Ответ

1 голос
/ 12 января 2011

Мне нравится jQuery и все такое, но я не нашел плагин для сортировки таблиц jQuery, который бы работал так же хорошо, как korthenixs. http://www.kryogenix.org/code/browser/sorttable/.

И используемый вами модуль сортировки таблиц не обновлялся с 2008-03-17

Kryogenix имеет все виды пользовательских видов. См. «Использование пользовательских форматов даты»: http://www.kryogenix.org/code/browser/sorttable/#dates

...