添加额外行后,tablersorter不起作用

时间:2012-12-10 08:12:36

标签: jquery jquery-plugins tablesorter

我有一张下表。

<table id="myTable" class="tablesorter"> 
<thead> 
<tr> 
    <th>No</th>
    <th>Name</th>     
    <th>Email</th> 
    <th class='time'>Time</th> 
    <th>Price</th> 
</tr> 
</thead> 
<tbody> 
<tr> 
    <td>1</td>
    <td>Smith</td>    
    <td>jsmith@gmail.com</td> 
    <td class='time'>60 mins</td> 
    <td>45</td> 
</tr> 

</tbody> 
</table> 

我正在使用jquery tablesorter插件。 已经,tablesorter运作良好。我可以看到所有列都可以排序。

在我的应用程序中,单击“刷新”按钮后,将添加或删除动态行。这意味着,Table内容将被更改。表修改后,排序不起作用。

这里是jsfiddle demo

下面是调用tablesorter的代码。

   $("#myTable").tablesorter({
        headers: { 
            4: { sorter: "integer"}, 
            2: {sorter: false} 
        },
        debug:true,
        textExtraction:function(node){
           var $node = $(node)
           var text = $node.text();  
           if ($node.hasClass('time')) {
                text = text.replace('mins', '');
            };
            return text;            
        }
    });

在给定的演示示例中,添加的行成为第一行,不用于排序。

2 个答案:

答案 0 :(得分:3)

API文档的基本内容揭示了此演示的链接:http://tablesorter.com/docs/example-empty-table.html

关键是这行代码:

    // let the plugin know that we made a update 
    $("table").trigger("update"); 

如果您将其添加到您的代码中......

   $("#myTable").append(row).trigger("update");   

... it works

答案 1 :(得分:1)

THE FIX应用于Christian Bach的原始版本或使用Mottie改进的v2.x HERE

不要在未修复的原始版本中依赖.trigger("update")