你好,我遇到了动态添加到jquery tablesorter的行的问题,
我必须在表的开头添加一行,默认情况下tablesorter工作正常但是在添加行之后,表只排序使用前面的行排序我的意思是新行不包含在排序中进程,新行有一些但不是所有字段都空白任何解决方案吗?
答案 0 :(得分:20)
tablesorter网站提供了有关如何执行此操作的详细信息,请访问:Appending table data with Ajax。代码转载如下:
$(document).ready(function() {
$("table").tablesorter();
$("#ajax-append").click(function() {
$.get("assets/ajax-content.html", function(html) {
// append the "ajax'd" data to the table body
$("table tbody").append(html);
// let the plugin know that we made a update
// updateAll ensures sorting is updated as well
$("table").trigger("updateAll");
// set sorting column and direction, this will sort on the first and third column
var sorting = [[2, 1], [0, 0]];
// sort on the first column
$("table").trigger("sorton", [sorting]);
});
return false;
});
});
答案 1 :(得分:1)
您是否尝试取消设置tablesorter并初始化一个新的tablesorter会话?
因为tablesorter不知道你添加了新行,所以为什么不在表上设置一个新的tablesorter。
答案 2 :(得分:-1)
我能让它工作的唯一方法是重新生成整个表(删除它然后重新创建)。
$(".resultTablePlaceholder").html('').html('<table id="resultTable">...</table>');
$("#resultTable").tablesorter();
答案 3 :(得分:-1)
这些线对我来说非常合适。分配HTML后,只需触发表的更新功能。
$('#tblID').html(str);
$("#tblID").trigger("update");
其中#tblID
是表ID,str
是分配给表的表行的html。