2012-06-03 4 views
0

Как я могу реализовать сборщик дат в Tablesorter, чтобы я мог показать результат между датами 01/01/2001 - 01/01/2012?jQuery Tablesorter Date Picker

Я получил следующий вопрос, следовательно, мой запрос относительно выше вопрос:

В HTML отобразить набор табличных данных, где данные содержат даты. Внедрите выбор даты, который фильтрует табличные данные. По возможности разрешите подачу табличных данных через каналы ajax или json.

+1

Сообщите нам соответствующий код, пожалуйста. У вас есть таблица с полями даты и вы хотите отфильтровать строки таблицы на основе значения двух входов datepicker? Или что? –

+0

@ FabrícioMatté Вот моя таблица http://jsfiddle.net/zHRv4/ Я хочу, чтобы иметь возможность фильтровать данные между определенным периодом времени. Мне рекомендовали сортировщик стола, но, возможно, другие варианты. –

+0

Я бы просто реализовал плагин jQuery UI 'datepicker' с двумя ящиками ввода (минимальные/максимальные даты), а затем в функции, вызванной либо нажатием' '' '' '' '' '' 'или' onchange' этих 'input' , получите все 'td' содержащие даты в селекторе и спрячьте родителя ('tr') tds с датами ниже минимальной или более высокой, чем максимальная дата (не забудьте сбросить все их до видимых из-за предыдущих запросов перед выполнением этого), но я думаю, что у парней вокруг здесь могут быть более простые идеи. –

ответ

5

Как я уже говорил ранее, вы можете сделать это, просто используя 2 jQuery UI datepickers - один для минимальной даты, другой для максимальной даты - и фильтрацию дат.

Я сделал очень простой пример: Take a look. И here's the commented version (вы также можете вводить числа вместе с дампикерами, что может оказаться более простым способом).

Теперь, если вы хотите динамически загружать контент внутри div, вам просто нужно взглянуть на jQuery's Ajax documentation или прочитать несколько руководств - это довольно простой материал.

Самый простой способ сделать ваш Ajax будет оборачивать таблицу внутри DIV, скажем, tablewrapper, то вы можете использовать метод .load() JQuery:

$('#tablewrapper').load('UrlWhichContainsMyTable.html'); 

В приведенном выше примере вы бы повторить весь <table> ... </table> (или иметь его внутри html-документа).

Если вы хотите загрузить строки таблицы динамически, вы можете использовать .append и .appendTo методы к вашему столу:

$.get('urlWithMyNewRows.html', function(r){ //or $.post, $.ajax etc 
     $('table.bordered').append(r); 
}); 

В приведенном выше примере, вы бы принести коллекцию строк таблицы <tr>, чтобы добавить к вашему таблицу из вашего документа urlWithMyNewRows.html.

И посмотрите на $.getJSON documentation and examples, если вам это нужно. =]

пс. Я называю свою скрипку «простой», так как я даже не проверял, есть ли maxdate перед mindate, чтобы отобразить предупреждение, не показывающее сообщение «Нет результатов», даже если это всего лишь пара строк кода.

+0

Спасибо, Не могли бы вы посмотреть на это? http://stackoverflow.com/questions/10868035/jquery-display-date-in-order-from-min-to-max –