Tablesorter - adding information dynamically

test modified from http://tablesorter.com/docs/example-empty-table.html

by beej

HTML

<script src="http://tablesorter.com/__jquery.tablesorter.js"></script>
<link rel="stylesheet" href="http://tablesorter.com/themes/blue/style.css">
The number of columns must be set before the tablesorter is initialized.
<table cellspacing="1" class="tablesorter">             
    <thead>
    </thead> 
    <tbody> 
    </tbody> 
</table><a href="#" id="append">append new table data</a><br><br>
You may change the text of the &lt;th&gt; tags but not their structure itself. My guess is that the event is bound to them.

JavaScript

$(document).ready(function() {
    // "dynamically generated table headers"
    var thead = "<tr><th>first name</th><th>last name</th><th>age</th><th>total</th><th>discount</th><th>date</th></tr>";

    $('table thead').append(thead);
    $("table").tablesorter();    
    
    $("#append").click(function() {
        // add some html 
        var html = "<tr><td>Peter</td><td>Parker</td><td>28</td><td>$9.99</td><td>20%</td><td>Jul 6, 2006 8:14 AM</td></tr>";
        html += "<tr><td>John</td><td>Hood</td><td>33</td><td>$19.99</td><td>25%</td><td>Dec 10, 2002 5:14 AM</td></tr><tr><td>Clark</td><td>Kent</td><td>18</td><td>$15.89</td><td>44%</td><td>Jan 12, 2003 11:14 AM</td></tr>";
        html += "<tr><td>Bruce</td><td>Almighty</td><td>45</td><td>$153.19</td><td>44%</td><td>Jan 18, 2001 9:12 AM</td></tr>";
        // append new html to table body  
        $("table tbody").append(html);

        $('td:first-child').hide();
        
        // let the plugin know that we made a update 
        $("table").trigger("update");
        // 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;
    });
});