我正在使用tablesorter插件pager。
所有的分页都是在服务器端完成的,所以我使用寻呼机的ajaxUrl
,ajaxObject
和customUrl
选项来处理用户翻页时所需的所有ajax调用。 / p>
在customUrl
选项中,我有一个函数可以检索用户在外部字段中定义的时间范围,并将其添加到url中,以便仅过滤该范围内的条目。
当用户更改该时间范围时,我使用$("tr", tableElement).remove();
然后$(tableElement).trigger("update");
从表中删除所有行,以通过寻呼机插件触发ajax调用。
当表中包含条目时,此方法有效:条目被删除,然后更新触发器发出新的ajax请求,并使用适当的分页获取表中选定时间范围内的行。
问题:当前选择的范围为空(即未找到任何条目),并且用户选择新范围时,update
触发器未看到任何更改在数据/条目中(在表的结构内),因此ajax请求不会被发布。
有没有办法强制表自行更新并运行ajax查询程序?
答案 0 :(得分:1)
除了清除表并触发更新外,还有一种不同的方法可用于强制寻呼机更新:
在当前版本(2.18.4)中,最简单的方法是清除内部存储的变量,然后触发页面更改:
$('table')[0].config.pager.last.ajaxUrl = '';
$('table').trigger('pageSet');
我知道,它并不漂亮
由于这个问题以及寻呼机需要强行更新的过去问题,下一次更新tablesorter(v2.18.5或v2.19.0)将包含一个新的寻呼机方法,它将强制更新寻呼机:
$('table').trigger('pagerUpdate');