在选择日期范围时强制JQuery Datatable通过AJAX加载数据

时间:2011-06-15 14:31:19

标签: jquery-plugins jquery datatables

我目前使用ajax加载数据的精彩jquery数据表。 代码与我从中获取的示例几乎相同,可以在http://www.datatables.net/release-datatables/examples/server_side/pipeline.html

找到

我发现这是最好的例子,因为它将分页,排序和搜索框都包含在ajax请求中。搜索框允许您键入关键字,这会触发ajax函数,该函数将搜索值包含为服务器脚本的$ _GET var。

这是我的表格的小预览,其中加载了表格工具等。 http://img828.imageshack.us/img828/9778/previewxjh.png

正如您所看到的,主要焦点是我添加的灯丝组日期范围插件。我现在已经完成了这个,并且有一个故障安全的重复事件触发问题等它准备好了,只需要包括在ajax管道中 - 这是我在最后一天左右卡住的地方。

fnDataTablesPipeline似乎只是一个临时的并且根本没有引用搜索框,所以我无法弄清楚搜索框是如何工作的,我不确定这是否适合去包括我的日期范围值(我所尝试的一切只会让我陷入死胡同)

我想将onChange事件用于日期范围过滤器,并以与搜索框工作方式完全相同的方式应用它。当值改变时,只需将其作为get变量传递,以便我的php脚本可以在那里处理它。我对分页有疑虑,我可能需要在日期更改后重新调回第一页(不知道我将如何处理这个问题,但这就是下一步)

我需要帮助告知数据表从ajax源刷新,并将日期范围作为get参数包含在服务器端脚本中(比如搜索框值更改时) - 听起来很直接,但由于缺乏理解,这是我正在打破并且没有充分利用我的时间的地方。

是否有人实施了类似的可以帮助我?

现在最大的问题是如何从我的日期范围onChange事件强制刷新,当然还包括包含我的日期的单个字符串值(我知道如何覆盖服务器端)

非常感谢, 克里斯

编辑:在我结束这一天之前,我确实设法让这个工作。我明天回到办公室时会发布我的代码,这实际上非常简单 - 我完全错了。

1 个答案:

答案 0 :(得分:1)

更改日期后..

oTable.fnClearTable(0);
oTable.fnDraw();

在管道中包含var

function fnDataTablesPipeline ( sSource, aoData, fnCallback, dateRange ) {
    aoData.push( { "name": "dateRange", "value": $('#dateRangePicker').val(), } );
...

获取php脚本中的var

$_GET['dateRange']