1

我会自己解释 jquery 插件的功能,但网站肯定比我做得更好,在大多数情况下,它似乎是一个非常简单的插件

http://tablesorter.com/docs/

我正在使用此插件在生成表后对其进行过滤,效果很好。问题是表是实时更新的,在过滤表后,如果收到新的更新,然后再次过滤表,数据就会重复。

我一直在研究它,似乎该插件建立了一个信息缓存,允许过滤数据。

我想要做的是删除缓存并在每次有更新时重建它,防止重复信息被附加到表数组中。

客户端javascript:

function appendTables(appendData, index) {
var tabPage = "#tabpage_"+index+" > #myJobs_"+index+" > .userJobs";
userJobsElement = $(tabPage);

userJobsElement.empty();
userJobsElement.append(appendData);
applySortTable();
}

这部分使用动态 id 生成多个表以及 2 个标准表:

function applySortTable() {
var tables = $('table');
tableCount = tables.length-2;
$("#myJobs_all").tablesorter();
$("#myJobs_noteam").tablesorter();
for (var i = 0; i < tableCount; i++){
 $("#myJobs_"+ i).tablesorter();
}

然后使用插件生成表,正如我所说的创建缓存,有没有人知道如何清除缓存,然后在用户发生这种情况时重建它?


更新

现在正在更新数据,但目前我们已经设置了一个基于标签的表格系统来查看不同的团队信息。处理更新时,该表仅在第一个表中更新,其他表停止工作,有人知道如何处理吗?

4

1 回答 1

5

重新初始化 tablesorter 插件不是正确的方法。添加新内容后,只需触发更新方法:

$("table tbody")
    .append(appendData)
    .trigger('update'); // this event will bubble up

查看此演示的代码示例

于 2013-02-15T00:04:31.290 回答