带有动态添加行的jquery tablesorter的问题

时间:2011-01-01 12:35:21

标签: jquery javascript

你好,我遇到了动态添加到jquery tablesorter的行的问题,

我必须在表的开头添加一行,默认情况下tablesorter工作正常但是在添加行之后,表只排序使用前面的行排序我的意思是新行不包含在排序中进程,新行有一些但不是所有字段都空白任何解决方案吗?

4 个答案:

答案 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。