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 <th> 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;
});
});