我正在使用JoeQuery的Stupid-Table jQuery插件对一个简单的表进行排序。我不知道如何在动态表上刷新整个排序缓存。
updateSortVal
功能允许更新单个单元格。例如:
$age_td.updateSortVal(23);
但是,当替换整个thead
和tbody
时,如何刷新整个表?
这是我的代码:
$.ajax({
...
success: function(data) {
$("#myTable thead, #myTable tbody").empty();
if (data.data.length > 0) {
var $thead_tr;
var $tbody_tr;
for (var r = 0; r < data.data.length; r++) {
if (r == 0) $thead_tr = $("<tr>").appendTo("#myTable thead");
$tbody_tr = $("<tr>").appendTo("#myTable tbody");
for (var c in data.data[r]) {
if (r == 0) $("<th>").html(c).appendTo($thead_tr);
$("<td>").html(data.data[r][c]).appendTo($tbody_tr);
// I've tried adding `.updateSortVal(data.data[r][c]);`
// to the above as well, but the cache for the `th`
// needs to be re-cached as well, so let's do it all at once
}
}
// I'd like to refresh the entire stupidtable cache here
$("#myTable").stupidtable().show();
}
}
}
});
答案 0 :(得分:2)
也许你应该基本上删除你的表而不是清空它,然后重新创建它以重置合适的(例如,宽度replaceWith())
$("#myTable").replaceWith('<table id="myTable"><thead></thead><tbody></tbody></table>');
而不是
$("#myTable thead, #myTable tbody").empty();
修改强>
由于我不确定你所谓的缓存,我做了这个小提琴。 如果你重现问题,你能检查一下并解释一下吗?