NOTE!
- As of tablesorter version 2.9+, this widget can no longer be applied to versions of tablesorter prior to version 2.8.
- Older versions of this widget can be applied to the original plugin. The code is in the "jquery.tablesorter.widgets.js" file.
- The original "widgetColumns" option has been replaced by "widgetOptions.columns". See the javascript block below for more details (v2.1).
- Table header and footer rows now get updated with the columns widget classes. Check out the "grey" theme to see (v2.4).
Demo
Choose Theme:First Name |
Last Name |
Age |
Total |
Discount |
Date |
---|---|---|---|---|---|
First Name | Last Name | Age | Total | Discount | Date |
Bruce | Almighty | 45 | $153.19 | 44% | Jan 18, 2001 9:12 AM |
Bruce | Evans | 22 | $13.19 | 11% | Jan 18, 2007 9:12 AM |
John | Hood | 33 | $19.99 | 25% | Dec 10, 2002 5:14 AM |
Clark | Kent | 18 | $15.89 | 44% | Jan 12, 2003 11:14 AM |
Peter | Parker | 28 | $9.99 | 20% | Jul 6, 2006 8:14 AM |
Page Header
<!-- blue theme stylesheet with additional css styles added in v2.0.17 -->
<link rel="stylesheet" href="../css/theme.blue.css">
<!-- tablesorter plugin -->
<script src="../js/jquery.tablesorter.js"></script>
<!-- tablesorter widget file - loaded after the plugin -->
<script src="../js/jquery.tablesorter.widgets.js"></script>
Javascript
$(function() {
// call the tablesorter plugin
$("table").tablesorter({
theme : 'blue',
sortList : [[1,0],[2,0],[3,0]],
// header layout template; {icon} needed for some themes
headerTemplate : '{content}{icon}',
// initialize zebra striping and column styling of the table
widgets : ["zebra", "columns"],
widgetOptions : {
// change the default column class names
// primary is the first column sorted, secondary is the second, etc
columns : [ "primary", "secondary", "tertiary" ],
// include thead when adding class names
columns_thead : true,
// include tfoot when adding class names
columns_tfoot : true
}
});
});
CSS
/*
This css is part of the blue/style.css theme, shown as an example
To work with the zebra widget, include the .odd and .even color definitions as well
as definitions for the "primary", "secondary" and "tertiary" sorts.
*/
/* Column Widget - column sort colors */
table.tablesorter-blue td.primary,
table.tablesorter-blue tr.odd td.primary {
background-color: #99b3e6;
}
table.tablesorter-blue tr.even td.primary {
background-color: #c2d1f0;
}
table.tablesorter-blue td.secondary,
table.tablesorter-blue tr.odd td.secondary {
background-color: #c2d1f0;
}
table.tablesorter-blue tr.even td.secondary {
background-color: #d6e0f5;
}
table.tablesorter-blue td.tertiary,
table.tablesorter-blue tr.odd td.tertiary {
background-color: #d6e0f5;
}
table.tablesorter-blue tr.even td.tertiary {
background-color: #ebf0fa;
}
HTML
<table class="tablesorter">
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
<th>Total</th>
<th>Discount</th>
<th>Date</th>
</tr>
</thead>
<tfoot>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
<th>Total</th>
<th>Discount</th>
<th>Date</th>
</tr>
</tfoot>
<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>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>
<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>
<tr>
<td>Bruce</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>