使用寻呼机的tablesorter - 当表为空时强制更新

时间:2015-01-20 20:32:48

标签: jquery tablesorter pager jquery-pagination

我正在使用tablesorter插件pager。 所有的分页都是在服务器端完成的,所以我使用寻呼机的ajaxUrlajaxObjectcustomUrl选项来处理用户翻页时所需的所有ajax调用。 / p>

customUrl选项中,我有一个函数可以检索用户在外部字段中定义的时间范围,并将其添加到url中,以便仅过滤该范围内的条目。

当用户更改该时间范围时,我使用$("tr", tableElement).remove();然后$(tableElement).trigger("update");从表中删除所有行,以通过寻呼机插件触发ajax调用。

当表中包含条目时,此方法有效:条目被删除,然后更新触发器发出新的ajax请求,并使用适当的分页获取表中选定时间范围内的行。

问题:当前选择的范围为空(即未找到任何条目),并且用户选择新范围时,update触发器未看到任何更改在数据/条目中(在表的结构内),因此ajax请求不会被发布。

有没有办法强制表自行更新并运行ajax查询程序?

1 个答案:

答案 0 :(得分:1)

除了清除表并触发更新外,还有一种不同的方法可用于强制寻呼机更新:

  • 在当前版本(2.18.4)中,最简单的方法是清除内部存储的变量,然后触发页面更改:

    $('table')[0].config.pager.last.ajaxUrl = '';
    $('table').trigger('pageSet');
    

    我知道,它并不漂亮

  • 由于这个问题以及寻呼机需要强行更新的过去问题,下一次更新tablesorter(v2.18.5或v2.19.0)将包含一个新的寻呼机方法,它将强制更新寻呼机:

    $('table').trigger('pagerUpdate');