10 KiB
10 KiB
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.
Documentation
- 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.
Demos
- Basic alpha-numeric sort Demo.
- Links to demo pages can be found within the main documentation.
- More demos & playgrounds - updated in the wiki pages.
Features
- 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).
Licensing
- Copyright (c) 2007 Christian Bach.
- Original examples and docs at: http://tablesorter.com.
- Dual licensed under the MIT and GPL licenses.
Special Thanks
- 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!
Change Log
View the complete listing here.
Version 2.15.10 (3/13/2014)
- Fix
numberSorteroption causing a javascript error & added test.
Version 2.15.9 (3/12/2014)
- jQuery UI Filter formatter scripts work again (broken since adding unique namespaces in v2.15.7).
Version 2.15.8 (3/12/2014)
-
Filter widget
-
Align Character widget (beta)
- Added this widget to help align cell content on a character (space, decimal, etc).
- Check out the demo!
Version 2.15.7 (3/9/2014)
-
Core
- Minor natural sort algorithm optimization
- Added
namespacewhich should contain a unique namespace for each table; it is used when binding to event listeners.
-
Build table widget
- Removed inappropriate empty table console message when initializing.
- build table widget documentation update (includes
<head>scripts & css) - Fixed nested accordions
-
Column selector widget
- Setting the
columnSelector_saveColumnsoption totruenow saves the "auto" state. Fixes issue #517.
- Setting the
-
Filter widget
- Use the new
namespaceoption to use with event listeners. Fixes issue #535.
- Use the new
-
headerTitles widget
- Sorry for all of these breaking changes, I should have left this widget in beta.
- The
headerTitle_prefix,headerTitle_text,headerTitle_numericoptions has been replaced, in lieu of the new ouput options; sorry for no deprecation notice. - Added
headerTitle_useAria,headerTitle_tooltip,headerTitle_output_sorted,headerTitle_output_unsorted,headerTitle_output_nosort,headerTitle_cur_text,headerTitle_cur_numeric,headerTitle_nxt_text,headerTitle_nxt_numeric,headerTitle_type&headerTitle_callbackoptions. See the headerTitles widget demo for more details. - Added
"refreshHeaderTitle"method to force the widget to update.
Version 2.15.6 (3/7/2014)
-
Doc
- Added docs for
$.tablesorter.languagewhich contains the text used in thearia-labelfor the header - Update
isValueInArray&sortAppenddocs.
- Added docs for
-
Core
- Destroy now unbinds the
updateCachemethod properly - Update
$.tablesorter.isValueInArrayfunction &sortAppendoption. Fixes issue #523. - All test dates are now time zone & DST independent. Fixes issue #516.
- Added tests for
sortForce,sortAppend,sortMultiSortKeyandsortResetKey. - Cache natural sort regex.
- Date parsers now return the original cell text instead of an empty string when encountering invalid dates. Sort of fixes issue #531.
- Event fixes:
- Sort events will now only show when the table is being sorted; previously when updating an unsorted table, sort events would fire.
- The
updateCompleteevent now fires after every triggered update (update,updateRows,updateAll,updateCell&addRows) - Updated pager to correctly trigger the
updateCompleteevent when using ajax. - Added unit tests to ensure these events fire on an empty table.
- Fixes issue #532
- Destroy now unbinds the
-
ColumnSelector widget
- Make column disable, visible & invisible methods consistent. Fixes issue #519
-
Filter widget
- Preset filter searches (set by
data-valueon the header) work again. Fixes issues #511 & #525. - Add note to docs about adding a placeholder. Fixes issue #522.
- Filter build select function no longer causes a javascript error on empty tables. Fixes issue #528.
- Preset filter searches (set by
-
Grouping widget
- The
collapsedoption once again shows the group headers. Fixes issues #514 & 533 - Add
group_saveGroups&group_saveResetoptions:- The
group_saveGroupsoption (trueby default) saves the group name of any collapsed groups (requiresgroup_collapsibleto betrue) - The
group_saveResetoption (nullby default) contains a jQuery selector string or jQuery object pointing to an element to be used to clear the saved groups. - Both of these options require the storage utility script contained within the
jquery.tablesorter.widgets.jsfile. - Fullfils feature request of issue #514.
- The
- Added details about using regular expressions within the
group_separatoroption.
- The
-
Header Titles widget (headerTitles)
- New widget which adds the current sort to the header title attribute.
- It distinguishes between a text and numeric sort and includes the current sort direction
- A prefix can be included.
- By default, an ascending sort shows either "A - Z" or "0 - 9", or "Z - A" or "9 - 0" for descending sorts.
- Note that date columns will show as numeric
- Fixes issue #529.
-
Pager (addon & widget)
- Ensure empty array
[]and array of empty strings['', '', '']evaluate as the same when checking if the filters have changed. Fixes issue #202 (again). - Compare
totalRowsvs.totalPageswhen preventing an ajax call. - Changes to make the
updateCompleteevent fire, but because of the asynchronous nature of ajax, it fires before anysortEndevents. It may take some more work to resolve this, if it becomes a concern. - Attempted to fix pager row count issue. See issue #455.
- Ensure empty array
-
Miscellaneous
- Pager custom controls (beta) now shows no pages on a single page. Fixes issue #518
- Increase Bootstrap 3 theme css specificity. See issue #515
- Checkbox parser no longer causes a js error when a checkbox doesn't exist.
Version 2.15.5 (2/23/2014)
- Pager widget now initializes properly when using ajax. Fixes issue #510.