gpt4 book ai didi

tablesorter - 为什么我的 tablesorter 一直缓存我的旧行?

转载 作者:行者123 更新时间:2023-12-04 10:41:10 26 4
gpt4 key购买 nike

我正在使用 tablesorter 在我的一个页面上对网格进行排序。我每 10 秒进行一次 AJAX 调用以获取更新的股票信息,并相应地更新我的网格。这么多工作,但我无法让我的排序选项正确缓存。相反,我似乎已经缓存了排序,但是当我这样做时,tablesorter 也会缓存我以前的行,并将它们与新的、排序的行集一起显示。

例如,我的初始网格有 10 行数据。我在第二列排序。 10 秒后,一组新的 10 行进来,但我最初的 10 行仍然出现,即使我已经清空了它们。我已经研究了所有,我似乎无法找到答案。

如果我根本不排序,并且我不调用“sorton”的触发器,我会根据需要得到 10 行,但这些行当然没有排序。如果我为“sorton”调用该触发器,我的数据将被排序,但每次调用该函数时我都会得到 10 行新行(总共 20 行,然后总共 30 行,等等)。

这是我的 AJAX 调用中的代码:

if (myResult.Data.length > 0) {
$.each(myResult.Data, function() {
myRows += "<tr><td>" + this.column1 + "</td><td>" + this.column2 + "</td></tr>";
});
$("#myTBody").empty();
// $("#myTBody").append(myRows); //tried this first
// $("#myTable").trigger("update"); // combined with this
$("#myTBody").append(myRrows).trigger("update");
var sorting = $("#myTable")[0].config.sortList;
$("#myTable").trigger("sorton", [sorting]);
}

最佳答案

虽然这篇文章很旧,但以防万一有人像我一样正在寻找原始 tablesorter 的修复程序,我通过使用 sorton 来解决这个问题。以以下“延迟”方式触发。

$("#myTBody").append(myRrows).trigger("update");
var sorting = $("#myTable")[0].config.sortList;
setTimeout(function () {
$("#myTable").trigger("sorton", [sorting]);
}, 100);

这样做的原因是因为 update原始 tablesorter 中的函数不会立即更新缓存。它在 update 后 1 毫秒更新它方法被调用。所以, sorton无法立即获取更新的缓存。这是我看完原JS代码得出的结论,如果我错了,请纠正我。

演示: http://jsfiddle.net/eY8uH/692/

关于tablesorter - 为什么我的 tablesorter 一直缓存我的旧行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12503637/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com