2012-06-03 284 views
0

我該如何去執行一個日期選取器到Tablesorter中,以便我可以顯示日期爲01/01/2001 - 01/01/2012之間的結果?jQuery Tablesorter日期選擇器

我一直在考慮以下問題,因此我對於上面的問題查詢:

在HTML中,其中數據包含日期顯示一組表格數據。實現一個篩選表格數據的日期選擇器。在可能的情況下,允許通過ajax或json源提供表格數據。

+1

請告訴我們相關的代碼。你有一個包含日期字段的表,並且你想根據2個datepicker輸入的值過濾錶行嗎?或者是什麼? –

+0

@FabrícioMatté這裏是我的表http://jsfiddle.net/zHRv4/我想能夠過濾特定時間段之間的數據。我被推薦使用臺式分揀機,但也可能有其他更好的選擇。 –

+0

我只是實現了帶有2個輸入框(最小/最大日期)的jQuery UI'datepicker'插件,然後在一個函數中調用''click''或'onchange'這些'inputs' ,在選擇器中獲得包含日期的所有「td」,並隱藏日期低於最小或高於最大日期的tds的父(tr')(不要忘記將它們全部重置爲可見由於之前執行此查詢),但我想這裏的人可能有更簡單的想法。 –

回答

5

正如我之前所說,您可以通過簡單地使用2 jQuery UI datepickers - 一個用於最短日期,另一個用於最大日期 - 和過濾日期來完成此操作。

我做了一個非常簡單的例子,Take a look。和here's the commented version(你也可以用datepickers鍵入數字,這可能被證明是一個更簡單的方法)。

現在,如果你想在div內動態加載內容,你只需要看看jQuery's Ajax documentation或閱讀一些教程 - 這是非常基本的東西。

,讓您的阿賈克斯將包裹一個div內你的表最簡單的方法,比方說,tablewrapper那麼你可以使用jQuery的.load()方法:

$('#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。 =]

ps。我打電話給我的小提琴「簡單」,因爲我甚至沒有驗證maxdate是否在mindate之前顯示警告,既不顯示「未找到結果」消息,即使這些消息也只是幾行代碼。

+0

謝謝,你能看看這個嗎? http://stackoverflow.com/questions/10868035/jquery-display-date-in-order-from-min-to-max –