tablesorter is a jQuery plugin for turning a standard HTML table with THEAD and TBODY tags into a sortable table without page refreshes. tablesorter can successfully parse and sort many types of data including linked data in a cell.
- Because of the change to the internal cache, the tablesorter v2.16+ core, filter widget and pager (both plugin & widget) will only work with the same version or newer files.
- See the full documentation.
- All of the original document pages have been included.
- Information from my blog post on undocumented options and lots of new demos have also been included.
- Change log moved from included text file into the wiki documentation.
- Basic alpha-numeric sort Demo.
- Links to demo pages can be found within the main documentation.
- More demos & playgrounds - updated in the wiki pages.
- Multi-column alphanumeric sorting and filtering.
- Multi-tbody sorting - see the options table on the main document page.
- Supports Bootstrap v2 and 3
- Parsers for sorting text, alphanumeric text, URIs, integers, currency, floats, IP addresses, dates (ISO, long and short formats) & time. Add your own easily.
- Inline editing - see demo
- Support for ROWSPAN and COLSPAN on TH elements.
- Support secondary "hidden" sorting (e.g., maintain alphabetical sort when sorting on other criteria).
- Extensibility via widget system.
- Cross-browser: IE 6.0+, FF 2+, Safari 2.0+, Opera 9.0+, Chrome 5.0+.
- Small code size, starting at 25K minified
- Works with jQuery 1.2.6+ (jQuery 1.4.1+ needed with some widgets).
- Works with jQuery 1.9+ ($.browser.msie was removed; needed in the original version).
- Copyright (c) 2007 Christian Bach.
- Original examples and docs at: http://tablesorter.com.
- Dual licensed under the MIT and GPL licenses.
- Big shout-out to Nick Craver for getting rid of the
eval()function that was previously needed for multi-column sorting.
- Big thanks to thezoggy for helping with code, themes and providing valuable feedback.
- Big thanks to ThsSin- for taking over for a while and also providing valuable feedback.
- Also extra thanks to christhomas and Lynesth for help with code.
- And, of course thanks to everyone else that has contributed, and continues to contribute to this forked project!
- Check the FAQ page.
- Search the main documentation (click the menu button in the upper left corner).
- Search the issues to see if the question or problem has been brought up before, and hopefully resolved.
- If someone is available, ask your question in the
#tablesorterIRC channel at freenode.net.
- Ask your question at Stackoverflow using a tablesorter tag.
- Please don't open a new issue unless it really is an issue with the plugin, or a feature request. Thanks!
View the complete listing here.
Version 2.16.4 (5/5/2014)
- Fix stickyHeaders scroll position adjustment.
- Update sticky headers widget demo to include the
ColumnSelector widget: updated css to include print media for the new print widget.
cssStickyHeaders widget: add
- Search operators (
< <= >= >) now properly uses the parser.
- Range, not matches (
!) & search operators now search all rows as needed.
- Add filter language option, set the lanuage of
and. Fixes issue #602.
- Prevent form submission when pressing enter within the filter.
delayInitis set to
- Add a bunch of filter tests.
- Search operators (
- The demo now includes a bunch of mask examples and an interactive example.
- Updated custom pager controls code to show the correct number of pages when the table is filtered.
- Fixes issue #605.
Print widget (new)
- The user can print all, visible or filtered rows. And, choose to print all, visible or selected columns (using the columnSelector widget).
- By default, the widget is set to only print filtered rows & visible columns.
- Note this required an update to the columnSelector widget to include print media.
- Try out the print widget demo.
Version 2.16.3 (4/30/2014)
headersoption indexing of cells in multiple header rows
- Setting an index in the multiple row header will now correctly set the column parser.
- See this demo - the 10th cell (zero-based index) in the header has the sorter set to "month".
- Set processing icon to only show after 500ms, it will not show at all if the sort ends before then.
- Check for jQuery's
closestfunction and use it, or fall back to equivalent code (maintaining support for jQuery 1.2.6+). Fixes issue #597.
- Remove widget init delay added in v2.16.1-beta.
- Remove old cached indexing:
- Update check for "filter-parsed" class, because the
getDatafunction will only return the first class name starting with "filter-".
- Filter select updates:
filter-select-nosortheader class name to prevent select option sorting.
- Filter select option sort now uses the assigned column parser to parse & sort the options.
- Filter select options are now sorted using the
textSorterfunction, if set, and if not set, it falls back to natural sorting.
- Fixes issue #599.
- Select2 filterFormatter now allows setting of initial settings. Fixes issue #598.
- Add support for
true. See this Stackoverflow question.
- Add support for
Version 2.16.2 (4/27/2014)
- Added basic setup for output widget.
- Show various updates.
- Update readme with more resources.
addRowsmethod will now accept a string or jQuery object.
- Sort direction is now counted correctly.
- Add "emptyMin" & "emptyMax" setting to
emptyTooption. Fixes issue #577.
- Add internal
- Filter widget:
- Math widget: add
data-math-maskfor each cell.
- Input select parser: don't update columns with both sorter & filter disabled. See issue #570.
Version 2.16.1 (4/24/2014)
- Ajax loaded data will now be parsed and cached - so stuff like the grouping widget will work properly.
Version 2.16.0 (4/23/2014)
- Add notice to readme about upgrading to v2.16.
- Add question section to readme about where to ask questions, including the new IRC channel.
- Update jQuery UI accordion code to reapply widgets to tables within the section, when open.
- Now works with HTML in the data
- Add zebra widget to demos.
- Check more than the first tbody when detecting parsers. Fixes issue #589.
- Apply widgets on table initialization after a short delay.
Pager: Now stays on the same page after updating. Fixes issue #590.
- Testing: Add some preliminary tests for the filter widget.