刷新表信息而不是附加

时间:2013-02-14 18:29:23

标签: javascript jquery node.js tablesorter

我自己会解释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();
}

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


更新

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

1 个答案:

答案 0 :(得分:5)

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

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

查看this demo的代码示例