2012-06-03 273 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 –