我正在使用 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]);
}