NOTE! This functionality was added in version 2.2.3 (it is not part of the original plugin).

Demo

First Name
Last Name
Age
Total
Discount
Date
Bruce Evans 22 N/A Jan 18, 2007 9:12 AM
Evans 22 $13.19 11% Jan 18, 2007 9:12 AM
Peter Parker 28 ($9.99) 20% Jul 6, 2006 8:14 AM
John 33 $19.99 25% Dec 10, 2002 5:14 AM
Clark Kent 18 44% Jan 12, 2003 11:14 AM
Bruce Almighty 45 $153.19 44%

Javascript

$(function(){
// set Discount column parser using jQuery data (either 'digit' or 'percent' will work)
$('th.discount').data('sorter', 'digit');
// set an initial sort on the table using jQuery data
$('table').data('sortlist', [[4,0]]);

// the rest of the parsers are set using the header cell data-attribute
$('table').tablesorter({ theme: 'blue' });
});

HTML

<table class="tablesorter">
<thead>
<tr>
<th data-sorter="text">First Name</th>
<th data-sorter="text">Last Name</th>
<th data-sorter="false">Age</th>
<th data-sorter="currency" data-string="min">Total</th> <!-- data-string="min" treats strings in this numeric column as a large negative number -->
<th class="discount" data-empty="top">Discount</th> <!-- data-empty="top" sorts empty cells to the top -->
<th data-sorter="usLongDate">Date</th>
</tr>
</thead>
<tbody>
<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>
<tr>
<td>John</td>
<td></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></td>
<td>44%</td>
<td>Jan 12, 2003 11:14 AM</td>
</tr>
<tr>
<td>Bruce</td>
<td>Almighty</td>
<td>45</td>
<td>$153.19</td>
<td>44%</td>
<td></td>
</tr>
<tr>
<td>Bruce</td>
<td>Evans</td>
<td>22</td>
<td>N/A</td>
<td></td>
<td>Jan 18, 2007 9:12 AM</td>
</tr>
<tr>
<td></td>
<td>Evans</td>
<td>22</td>
<td>$13.19</td>
<td>11%</td>
<td>Jan 18, 2007 9:12 AM</td>
</tr>
</tbody>
</table>

Next up: Using extractors with parsers ››