我有一个名为“results”的HTML表格元素。此表使用Web服务的结果动态填充。用户单击按钮时会触发Web服务。此按钮调用下面显示的“getResults”函数。此函数返回JSON格式的对象集合。当Web服务成功返回时,将调用名为getResultsCompleted的函数。将结果动态添加到表格后,我在其上调用tablesorter初始化程序,我的代码如下所示:
function getResults() {
$("#results > tbody").html("");
$.ajax({
type: "GET",
url: "/GetResults",
contentType: "application/json; charset=utf-8",
success: getResultsCompleted,
});
}
function getResultsCompleted(results) {
var html = "";
if (results.d.length > 0) {
$.each(results.d, function (i, r) {
html += getRow(r);
});
}
$("#results > tbody:last").append(html);
$("#results").tablesorter();
}
第一次加载结果时,排序工作正常。但是,在后续加载时,排序无法正常工作。当我调用“getResults”函数时,我觉得我需要以某种方式“破坏”tablesorter。但我不知道怎么做。也许我完全错了。有人可以帮帮我吗?感谢
答案 0 :(得分:1)
想出来。来自文档:
$( “表”)触发器( “更新”)。
答案 1 :(得分:0)
您可能正好摧毁了桌子分拣机,但我没有使用此分拣机
但您可以尝试删除内容并重建,如此
function getResultsCompleted(results) {
var html = "";
if (results.d.length > 0) {
$.each(results.d, function (i, r) {
html += getRow(r);
});
}
$("#results > tbody:last").children().remove();
$("#results > tbody:last").append(html);
$("#results").tablesorter();
}