带有寻呼机的表排序器 - 表为空时强制更新
Posted
技术标签:
【中文标题】带有寻呼机的表排序器 - 表为空时强制更新【英文标题】:tablesorter with pager - force update when table is empty 【发布时间】:2015-01-20 20:32:48 【问题描述】:我正在使用 tablesorter 和 pager 插件。
所有的分页都是在服务器端完成的,所以我使用寻呼机的 ajaxUrl
、ajaxObject
和 customUrl
选项来处理用户翻页时所需的所有 ajax 调用。
在customUrl
选项中,我有一个函数可以检索用户在外部字段中定义的时间范围,并将其添加到 url 中,以便仅过滤该范围内的条目。
当用户更改该时间范围时,我使用 $("tr", tableElement).remove();
从表中删除所有行,然后使用 $(tableElement).trigger("update");
触发寻呼插件的 ajax 调用。
当表中有条目时,此方法有效:条目被删除,然后更新触发器发出新的 ajax 请求,并以适当的分页方式获取表内选定时间范围内的行。
问题:当当前选择的范围为空(即未找到条目),并且用户选择了新范围时,update
触发器看不到数据的任何变化/条目(在表的结构内),因此不会发出 ajax 请求。
有没有办法强制表自我更新并运行 ajax 查询过程?
【问题讨论】:
【参考方案1】:除了清除表并触发更新之外,还有一种不同的方法可以用来强制寻呼机更新:
在当前版本(2.18.4)中,最简单的方法是清除内部存储的变量,然后触发页面更改:
$('table')[0].config.pager.last.ajaxUrl = '';
$('table').trigger('pageSet');
我知道,它不漂亮
由于这个问题和过去的寻呼机问题需要强制更新,tablesorter 的下一次更新(到 v2.18.5 或 v2.19.0)将包括一个新的寻呼机方法,它将强制更新寻呼机:
$('table').trigger('pagerUpdate');
【讨论】:
我尝试了你给我的第一个解决方案,效果很好。谢谢!以上是关于带有寻呼机的表排序器 - 表为空时强制更新的主要内容,如果未能解决你的问题,请参考以下文章