Skip to content
Browse files

alphanumeric sort

  • Loading branch information...
0 parents commit 466b3a5860771d7e71089924ce62e68ab79e1cb5 @Mottie committed Jun 22, 2011
Showing with 16,052 additions and 0 deletions.
  1. +84 −0 README.markdown
  2. BIN addons/pager/icons/first.png
  3. BIN addons/pager/icons/last.png
  4. BIN addons/pager/icons/next.png
  5. BIN addons/pager/icons/prev.png
  6. +25 −0 addons/pager/jquery.tablesorter.pager.css
  7. +184 −0 addons/pager/jquery.tablesorter.pager.js
  8. +70 −0 changelog
  9. BIN css/blue/black-asc.gif
  10. BIN css/blue/black-bg.gif
  11. BIN css/blue/black-desc.gif
  12. BIN css/blue/blue.zip
  13. +39 −0 css/blue/style.css
  14. BIN css/blue/white-asc.gif
  15. BIN css/blue/white-bg.gif
  16. BIN css/blue/white-desc.gif
  17. BIN css/green/asc.png
  18. BIN css/green/bg.png
  19. BIN css/green/desc.png
  20. BIN css/green/green.zip
  21. +39 −0 css/green/style.css
  22. +40 −0 docs/assets/ajax-content.html
  23. +32 −0 docs/css/jq.css
  24. +121 −0 docs/example-ajax.html
  25. +79 −0 docs/example-empty-table.html
  26. +113 −0 docs/example-extending-defaults.html
  27. +112 −0 docs/example-meta-headers.html
  28. +104 −0 docs/example-meta-parsers.html
  29. +108 −0 docs/example-meta-sort-list.html
  30. +117 −0 docs/example-option-debug.html
  31. +109 −0 docs/example-option-digits.html
  32. +112 −0 docs/example-option-sort-force.html
  33. +109 −0 docs/example-option-sort-key.html
  34. +112 −0 docs/example-option-sort-list.html
  35. +109 −0 docs/example-option-sort-order.html
  36. +89 −0 docs/example-option-text-extraction.html
  37. +119 −0 docs/example-options-headers.html
  38. +306 −0 docs/example-pager.html
  39. +112 −0 docs/example-parsers.html
  40. +111 −0 docs/example-trigger-sort.html
  41. +1,097 −0 docs/example-triggers.html
  42. +119 −0 docs/example-update-cell.html
  43. +348 −0 docs/example-widgets.html
  44. BIN docs/img/external.png
  45. +553 −0 docs/index.html
  46. +392 −0 docs/js/chili/chili-1.8b.js
  47. +1 −0 docs/js/chili/chili-1.8b.pack.js
  48. +18 −0 docs/js/chili/cplusplus.css
  49. +22 −0 docs/js/chili/cplusplus.js
  50. +17 −0 docs/js/chili/csharp.css
  51. +21 −0 docs/js/chili/csharp.js
  52. +17 −0 docs/js/chili/css.css
  53. +21 −0 docs/js/chili/css.js
  54. +17 −0 docs/js/chili/delphi.css
  55. +21 −0 docs/js/chili/delphi.js
  56. +17 −0 docs/js/chili/html.css
  57. +23 −0 docs/js/chili/html.js
  58. +17 −0 docs/js/chili/java.css
  59. +21 −0 docs/js/chili/java.js
  60. +18 −0 docs/js/chili/javascript.css
  61. +22 −0 docs/js/chili/javascript.js
  62. +30 −0 docs/js/chili/js-jquery/javascript.css
  63. +68 −0 docs/js/chili/js-jquery/javascript.js
  64. +20 −0 docs/js/chili/lotusscript.css
  65. +27 −0 docs/js/chili/lotusscript.js
  66. +22 −0 docs/js/chili/mysql.css
  67. +32 −0 docs/js/chili/mysql.js
  68. +24 −0 docs/js/chili/php.css
  69. +31 −0 docs/js/chili/php.js
  70. +64 −0 docs/js/chili/recipes.css
  71. +98 −0 docs/js/chili/recipes.js
  72. +22 −0 docs/js/docs.js
  73. +29 −0 docs/js/examples.js
  74. +8,936 −0 docs/js/jquery-latest.js
  75. +52 −0 index.html
  76. +148 −0 js/jquery.metadata.js
  77. +921 −0 js/jquery.tablesorter.js
  78. +7 −0 js/jquery.tablesorter.min.js
  79. +184 −0 js/jquery.tablesorter.pager.js
84 README.markdown
@@ -0,0 +1,84 @@
+Originally posted by Jeremy Satterfield in his [blog][1], [jQuery plugins][2] and on [Snipplr][3]. This fork by [Mottie][4].
+
+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.
+
+###Features ([Demo][http://mottie.github.com/tablesorter/])
+
+* Multi-column sorting.
+* Parsers for sorting text, alphanumeric text, URIs, integers, currency, floats, IP addresses, dates (ISO, long and short formats), time. [Add your own easily](docs/example-parsers.html)
+* 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](docs/example-widgets.html).
+* Cross-browser: IE 6.0+, FF 2+, Safari 2.0+, Opera 9.0+.
+* Small code size.
+* Works with jQuery 1.2.3+
+
+###Documentation
+
+Included all original [document pages](http://mottie.github.com/tablesorter/docs/index.html).
+Also check out my blog post on [undocumented options](http://wowmotty.blogspot.com/2011/06/jquery-tablesorter-missing-docs.html) which I will add to the document pages when I get around to it.
+
+###Licensing
+
+* Copyright (c) 2007 Christian Bach
+* Main Examples and docs at: http://tablesorter.com
+* Dual licensed under the [MIT](http://www.opensource.org/licenses/mit-license.php) and [GPL](http://www.gnu.org/licenses/gpl.html) licenses:
+
+###Change Log
+
+#### Version 2.0.6 (2011-06-22)
+
+* Forked original files and docs from [tablesorter.com](http://tablesorter.com) to GitHub.
+* Replaced alphabetical sort with an alphanumeric sort
+ * This "slower" sort can be disabled by setting the `sortLocaleCompare` option to `true`
+ * The `sortLocaleCompare` option's default was changed to `false`.
+ * Added a very basic demo.
+* Added `tableClass` option
+ * The value is "tablesorter" by default and should no longer be required in the default markup.
+ * This class is applied to the table in the script and should match the css styling.
+* Each header cell now has its content wrapped with a span.
+ * This allows applying the direction icon to the span instead of the entire cell.
+ * Although, this might just be extra markup with the advent of multiple background images and gradient backgrounds available in CSS3.
+* Reformatted the code to make jSLint "happier".
+
+### Version 2.0.5b (?)
+
+* General
+ * Added "cssChildRow" option - attach a child row to its parent.
+ * Added "sortLocaleCompare" to use the native `String.localeCampare` method during text sort.
+ * Added "onRenderHeader" function that is called when classes are added to the header cells.
+ * Added "selectorHeaders" option to target the the header cells.
+ * Changed multisort function
+
+#### Version 2.0.3 (2008-03-17)
+
+* Bug fixes - Missing semicolon, broke the minified version.
+
+#### Version 2.0.2 (2008-03-14)
+
+* General
+ * Added support for the new metadata plugin.
+ * Added support for jQuery 1.2.3.
+ * Added support for decimal numbers and negative and positive digits.
+ * Updated documenation and website with new examples.
+ * Removed packed version.
+
+* Bug fixes
+ * Sort force (Thanks to David Lynch).
+
+#### Version 2.0.1 (2007-09-17)
+
+* General
+ * Removed the need for Dimensions plugin when using the pagnation plugin thanks to offset being included in the jQuery 1.2 core.
+ * Added support for jQuery 1.2.
+ * Added new Minified version of tablesorter.
+ * Updated documenation and website with new examples.
+
+* Bug fixes
+ * If row values are identical the original order is kept (Thanks to David hull).
+ * If thead includes a table $('tbody:first', table) breaks (Thanks to David Hull).
+
+* Speed improvements:
+ * appendToTable, setting innerHTML to "" before appending new content to table body.
+ * zebra widget. (Thanks to James Dempster).
BIN addons/pager/icons/first.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN addons/pager/icons/last.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN addons/pager/icons/next.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN addons/pager/icons/prev.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 addons/pager/jquery.tablesorter.pager.css
@@ -0,0 +1,25 @@
+div.tablesorterPager {
+ padding: 10px 0 10px 0;
+ background-color: #D6D2C2;
+ text-align: center;
+}
+div.tablesorterPager span {
+ padding: 0 5px 0 5px;
+}
+div.tablesorterPager input.prev {
+ width: auto;
+ margin-right: 10px;
+}
+div.tablesorterPager input.next {
+ width: auto;
+ margin-left: 10px;
+}
+div.tablesorterPager input {
+ font-size: 8px;
+ width: 50px;
+ border: 1px solid #330000;
+ text-align: center;
+}
+
+
+
184 addons/pager/jquery.tablesorter.pager.js
@@ -0,0 +1,184 @@
+(function($) {
+ $.extend({
+ tablesorterPager: new function() {
+
+ function updatePageDisplay(c) {
+ var s = $(c.cssPageDisplay,c.container).val((c.page+1) + c.seperator + c.totalPages);
+ }
+
+ function setPageSize(table,size) {
+ var c = table.config;
+ c.size = size;
+ c.totalPages = Math.ceil(c.totalRows / c.size);
+ c.pagerPositionSet = false;
+ moveToPage(table);
+ fixPosition(table);
+ }
+
+ function fixPosition(table) {
+ var c = table.config;
+ if(!c.pagerPositionSet && c.positionFixed) {
+ var c = table.config, o = $(table);
+ if(o.offset) {
+ c.container.css({
+ top: o.offset().top + o.height() + 'px',
+ position: 'absolute'
+ });
+ }
+ c.pagerPositionSet = true;
+ }
+ }
+
+ function moveToFirstPage(table) {
+ var c = table.config;
+ c.page = 0;
+ moveToPage(table);
+ }
+
+ function moveToLastPage(table) {
+ var c = table.config;
+ c.page = (c.totalPages-1);
+ moveToPage(table);
+ }
+
+ function moveToNextPage(table) {
+ var c = table.config;
+ c.page++;
+ if(c.page >= (c.totalPages-1)) {
+ c.page = (c.totalPages-1);
+ }
+ moveToPage(table);
+ }
+
+ function moveToPrevPage(table) {
+ var c = table.config;
+ c.page--;
+ if(c.page <= 0) {
+ c.page = 0;
+ }
+ moveToPage(table);
+ }
+
+
+ function moveToPage(table) {
+ var c = table.config;
+ if(c.page < 0 || c.page > (c.totalPages-1)) {
+ c.page = 0;
+ }
+
+ renderTable(table,c.rowsCopy);
+ }
+
+ function renderTable(table,rows) {
+
+ var c = table.config;
+ var l = rows.length;
+ var s = (c.page * c.size);
+ var e = (s + c.size);
+ if(e > rows.length ) {
+ e = rows.length;
+ }
+
+
+ var tableBody = $(table.tBodies[0]);
+
+ // clear the table body
+
+ $.tablesorter.clearTableBody(table);
+
+ for(var i = s; i < e; i++) {
+
+ //tableBody.append(rows[i]);
+
+ var o = rows[i];
+ var l = o.length;
+ for(var j=0; j < l; j++) {
+
+ tableBody[0].appendChild(o[j]);
+
+ }
+ }
+
+ fixPosition(table,tableBody);
+
+ $(table).trigger("applyWidgets");
+
+ if( c.page >= c.totalPages ) {
+ moveToLastPage(table);
+ }
+
+ updatePageDisplay(c);
+ }
+
+ this.appender = function(table,rows) {
+
+ var c = table.config;
+
+ c.rowsCopy = rows;
+ c.totalRows = rows.length;
+ c.totalPages = Math.ceil(c.totalRows / c.size);
+
+ renderTable(table,rows);
+ };
+
+ this.defaults = {
+ size: 10,
+ offset: 0,
+ page: 0,
+ totalRows: 0,
+ totalPages: 0,
+ container: null,
+ cssNext: '.next',
+ cssPrev: '.prev',
+ cssFirst: '.first',
+ cssLast: '.last',
+ cssPageDisplay: '.pagedisplay',
+ cssPageSize: '.pagesize',
+ seperator: "/",
+ positionFixed: true,
+ appender: this.appender
+ };
+
+ this.construct = function(settings) {
+
+ return this.each(function() {
+
+ config = $.extend(this.config, $.tablesorterPager.defaults, settings);
+
+ var table = this, pager = config.container;
+
+ $(this).trigger("appendCache");
+
+ config.size = parseInt($(".pagesize",pager).val());
+
+ $(config.cssFirst,pager).click(function() {
+ moveToFirstPage(table);
+ return false;
+ });
+ $(config.cssNext,pager).click(function() {
+ moveToNextPage(table);
+ return false;
+ });
+ $(config.cssPrev,pager).click(function() {
+ moveToPrevPage(table);
+ return false;
+ });
+ $(config.cssLast,pager).click(function() {
+ moveToLastPage(table);
+ return false;
+ });
+ $(config.cssPageSize,pager).change(function() {
+ setPageSize(table,parseInt($(this).val()));
+ return false;
+ });
+ });
+ };
+
+ }
+ });
+ // extend plugin scope
+ $.fn.extend({
+ tablesorterPager: $.tablesorterPager.construct
+ });
+
+})(jQuery);
70 changelog
@@ -0,0 +1,70 @@
+tablesorter changelog
+======================
+http://tablesorter.com
+
+
+Changes in version 2.0.6 (2011-06-22)
+-------------------------------------
+
+General
+* Forked original files and docs from [tablesorter.com](http://tablesorter.com) to GitHub.
+* Replaced alphabetical sort with an alphanumeric sort
+ * This "slower" sort can be disabled by setting the `sortLocaleCompare` option to `true`
+ * The `sortLocaleCompare` option's default was changed to `false`.
+ * Added a very basic demo.
+* Added `tableClass` option
+ * The value is "tablesorter" by default and should no longer be required in the default markup.
+ * This class is applied to the table in the script and should match the css styling.
+* Each header cell now has its content wrapped with a span.
+ * This allows applying the direction icon to the span instead of the entire cell.
+ * Although, this might just be extra markup with the advent of multiple background images and gradient backgrounds available in CSS3.
+* Reformatted the code to make jSLint "happier".
+
+
+Changes in version 2.0.5b (???)
+-------------------------------------
+
+* General
+ * Added "cssChildRow" option
+ * Added "sortLocaleCompare" to use the native `String.localeCampare` method.
+ * Added "onRenderHeader" function that is called when classes are added to the header cells.
+ * Added "selectorHeaders" option to target the the header cells.
+
+
+Changes in version 2.0.3 (2008-03-17)
+-------------------------------------
+
+Bug fixes
+* Missing semicolon, broke the minified version
+
+
+Changes in version 2.0.2 (2008-03-14)
+-------------------------------------
+
+General
+* Added support for the new metadata plugin
+* Added support for jQuery 1.2.3
+* Added support for decimal numbers and negative and positive digits
+* Updated documenation and website with new examples
+* Removed packed version.
+
+Bug fixes
+* Sort force (Thanks to David Lynch)
+
+
+Changes in version 2.0.1 (2007-09-17)
+-------------------------------------
+
+General
+* Removed the need for Dimensions plugin when using the pagnation plugin thanks to offset being included in the jQuery 1.2 core.
+* Added support for jQuery 1.2
+* Added new Minified version of tablesorter
+* Updated documenation and website with new examples
+
+Bug fixes
+* If row values are identical the original order is kept (Thanks to David hull)
+* If thead includes a table $('tbody:first', table) breaks (Thanks to David Hull)
+
+Speed improvements:
+* appendToTable, setting innerHTML to "" before appending new content to table body.
+* zebra widget. (Thanks to James Dempster)
BIN css/blue/black-asc.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/blue/black-bg.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/blue/black-desc.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/blue/blue.zip
Binary file not shown.
39 css/blue/style.css
@@ -0,0 +1,39 @@
+/* Blue Theme */
+table.tablesorter {
+ font-family:arial;
+ background-color: #CDCDCD;
+ margin:10px 0pt 15px;
+ font-size: 8pt;
+ width: 100%;
+ text-align: left;
+}
+table.tablesorter thead tr th, table.tablesorter tfoot tr th {
+ background-color: #e6EEEE;
+ border: 1px solid #FFF;
+ font-size: 8pt;
+ padding: 4px;
+}
+table.tablesorter thead tr .header {
+ background-image: url(black-bg.gif);
+ background-repeat: no-repeat;
+ background-position: center right;
+ cursor: pointer;
+}
+table.tablesorter tbody td {
+ color: #3D3D3D;
+ padding: 4px;
+ background-color: #FFF;
+ vertical-align: top;
+}
+table.tablesorter tbody tr.odd td {
+ background-color:#F0F0F6;
+}
+table.tablesorter thead tr .headerSortUp {
+ background-image: url(black-asc.gif);
+}
+table.tablesorter thead tr .headerSortDown {
+ background-image: url(black-desc.gif);
+}
+table.tablesorter thead tr .headerSortDown, table.tablesorter thead tr .headerSortUp {
+background-color: #8dbdd8;
+}
BIN css/blue/white-asc.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/blue/white-bg.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/blue/white-desc.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/green/asc.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/green/bg.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/green/desc.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
BIN css/green/green.zip
Binary file not shown.
39 css/green/style.css
@@ -0,0 +1,39 @@
+table.tablesorter {
+ font-size: 12px;
+ background-color: #4D4D4D;
+ width: 1024px;
+ border: 1px solid #000;
+}
+table.tablesorter th {
+ text-align: left;
+ padding: 5px;
+ background-color: #6E6E6E;
+}
+table.tablesorter td {
+ color: #FFF;
+ padding: 5px;
+}
+table.tablesorter .even {
+ background-color: #3D3D3D;
+}
+table.tablesorter .odd {
+ background-color: #6E6E6E;
+}
+table.tablesorter .header {
+ background-image: url(bg.png);
+ background-repeat: no-repeat;
+ border-left: 1px solid #FFF;
+ border-right: 1px solid #000;
+ border-top: 1px solid #FFF;
+ padding-left: 30px;
+ padding-top: 8px;
+ height: auto;
+}
+table.tablesorter .headerSortUp {
+ background-image: url(asc.png);
+ background-repeat: no-repeat;
+}
+table.tablesorter .headerSortDown {
+ background-image: url(desc.png);
+ background-repeat: no-repeat;
+}
40 docs/assets/ajax-content.html
@@ -0,0 +1,40 @@
+<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>
32 docs/css/jq.css
@@ -0,0 +1,32 @@
+body,div,h1{font-family:'trebuchet ms', verdana, arial;margin:0;padding:0;}
+body{background-color:#fff;color:#333;margin:0;padding:0;}
+h1{font-size:large;font-weight:400;margin:0;}
+h2{color:#333;font-size:small;font-weight:400;margin:0;}
+.demo{width:600px;margin:0 auto;}
+.demo h1,.demo h1 a{font-size:120%;text-align:center;text-decoration:none;}
+.demo p{text-align:center;}
+.demo table.tablesorter{font-size:14px;}
+pre{background-color:#eee;border:1px solid #ddd;border-left-width:5px;color:#333;font-size:small;overflow-x:auto;padding:15px;}
+pre.normal{background-color:transparent;border:none;border-left-width:0;overflow-x:auto;}
+#logo{background:url(images/jq.png);display:block;float:right;height:31px;margin-right:10px;margin-top:10px;width:110px;}
+#main{margin:0 20px 20px;padding:0 15px 15px 0;}
+#content{padding:20px;}
+#busy{background-color:#e95555;border:1px ridge #ccc;color:#eee;display:none;padding:3px;position:absolute;right:7px;top:7px;}
+hr{height:1px;}
+code{font-size:108%;font-style:normal;padding:0;}
+ul{color:#333;list-style:square;}
+#banner{margin:20px;padding-bottom:10px;text-align:left;}
+#banner *{color:#232121;font-family:Georgia, Palatino, Times New Roman;font-size:30px;font-style:normal;font-weight:400;margin:0;padding:0;}
+#banner h1{display:block;float:left;}
+#banner h1 em{color:#6cf;}
+#banner h2{float:right;font-size:26px;margin:10px 10px -10px -10px;}
+#banner h3{clear:both;display:block;font-size:12px;margin-top:-20px;}
+#banner a{border-top:1px solid #888;display:block;font-size:14px;margin:5px 0 0;padding:10px 0 0;text-align:right;width:auto;}
+a.external{background-image:url(../img/external.png);background-position:center right;background-repeat:no-repeat;padding-right:12px;}
+form{font-size:10pt;margin-bottom:20px;width:auto;}
+form fieldset{padding:10px;text-align:left;width:140px;}
+div#main h1{border-bottom:1px solid #CDCDCD;display:block;margin-top:20px;padding:10px 0 2px;}
+table#tablesorter-demo {margin: 10px 0 0 0;}
+table#options *{font-size:small;}
+p.tip em {padding: 2px; background-color: #6cf; color: #FFF;}
+div.digg {float: right;}
121 docs/example-ajax.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">
+<head>
+ <title>jQuery plugin: Tablesorter 2.0 - Appending table data with ajax</title>
+
+ <!-- jQuery -->
+ <script type="text/javascript" src="js/jquery-latest.js"></script>
+
+ <!-- Demo stuff -->
+ <link rel="stylesheet" href="css/jq.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="js/chili/chili-1.8b.js"></script>
+ <script type="text/javascript" src="js/docs.js"></script>
+ <script type="text/javascript" src="js/examples.js"></script>
+
+ <!-- Tablesorter: required -->
+ <link rel="stylesheet" href="../css/blue/style.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="../js/jquery.tablesorter.js"></script>
+
+ <!-- Tablesorter: optional -->
+ <script type="text/javascript" src="../addons/pager/jquery.tablesorter.pager.js"></script>
+ <script type="text/javascript" src="../js/jquery.metadata.js"></script>
+
+ <script type="text/javascript" id="js">$(function() {
+ $("table").tablesorter();
+ $("#ajax-append").click(function() {
+ $.get("assets/ajax-content.html", function(html) {
+ // append the "ajax'd" data to the table body
+ $("table tbody").append(html);
+ // 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;
+ });
+});</script>
+</head>
+<body>
+<div id="banner">
+ <h1>table<em>sorter</em></h1>
+ <h2>Appending table data with ajax</h2>
+ <h3>Flexible client-side table sorting</h3>
+ <a href="index.html">Back to documentation</a>
+</div>
+<div id="main">
+ <h1>Demo</h1>
+ <div id="demo">
+ <table cellspacing="1" 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>
+ <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>
+ <a href="#" id="ajax-append">Append new table data</a>
+ <br/>
+ <br/>
+ </div>
+ <p>*Note* This demo will only work when the ajax page is online - switch to jQuery v1.4.4 to test it locally</p>
+ <h1>Javascript</h1>
+ <div id="javascript">
+ <pre class="javascript"></pre>
+ </div>
+ <h1>HTML</h1>
+ <div id="html">
+ <pre class="html"></pre>
+ </div>
+</div>
+
+</body>
+</html>
79 docs/example-empty-table.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">
+<head>
+ <title>jQuery plugin: Tablesorter 2.0 - Initializing tablesorter on a empty table</title>
+
+ <!-- jQuery -->
+ <script type="text/javascript" src="js/jquery-latest.js"></script>
+
+ <!-- Demo stuff -->
+ <link rel="stylesheet" href="css/jq.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="js/chili/chili-1.8b.js"></script>
+ <script type="text/javascript" src="js/docs.js"></script>
+ <script type="text/javascript" src="js/examples.js"></script>
+
+ <!-- Tablesorter: required -->
+ <link rel="stylesheet" href="../css/blue/style.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="../js/jquery.tablesorter.js"></script>
+
+ <script type="text/javascript" id="js">$(document).ready(function() {
+ $("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);
+ // 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;
+ });
+});</script>
+</head>
+<body>
+<div id="banner">
+ <h1>table<em>sorter</em></h1>
+ <h2>Initializing tablesorter on a empty table</h2>
+ <h3>Flexible client-side table sorting</h3>
+ <a href="index.html">Back to documentation</a>
+</div>
+<div id="main">
+ <h1>Demo</h1>
+ <div id="demo">
+ <table cellspacing="1" 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>
+ <tbody>
+ </tbody>
+ </table>
+
+ <a href="#" id="append">Append new table data</a>
+ <br/>
+ <br/>
+ </div>
+ <h1>Javascript</h1>
+ <div id="javascript">
+ <pre class="javascript"></pre>
+ </div>
+ <h1>HTML</h1>
+ <div id="html">
+ <pre class="html"></pre>
+ </div>
+</div>
+
+</body>
+</html>
113 docs/example-extending-defaults.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">
+<head>
+ <title>jQuery plugin: Tablesorter 2.0 - Extending default options</title>
+
+ <!-- jQuery -->
+ <script type="text/javascript" src="js/jquery-latest.js"></script>
+
+ <!-- Demo stuff -->
+ <link rel="stylesheet" href="css/jq.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="js/chili/chili-1.8b.js"></script>
+ <script type="text/javascript" src="js/docs.js"></script>
+ <script type="text/javascript" src="js/examples.js"></script>
+
+ <!-- Tablesorter: required -->
+ <link rel="stylesheet" href="../css/blue/style.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="../js/jquery.tablesorter.js"></script>
+
+ <!-- Tablesorter: optional -->
+ <script type="text/javascript" src="../addons/pager/jquery.tablesorter.pager.js"></script>
+ <script type="text/javascript" src="../js/jquery.metadata.js"></script>
+
+<script type="text/javascript" id="js">$(function() {
+ // extend the default setting to always include the zebra widget.
+ $.tablesorter.defaults.widgets = ['zebra'];
+
+ // extend the default setting to always sort on the first column
+ $.tablesorter.defaults.sortList = [[0,0]];
+
+ // call the tablesorter plugin
+ $("table").tablesorter();
+}); </script>
+</head>
+<body>
+<div id="banner">
+ <h1>table<em>sorter</em></h1>
+ <h2>Extending default options</h2>
+ <h3>Flexible client-side table sorting</h3>
+ <a href="index.html">Back to documentation</a>
+</div>
+<div id="main">
+ <h1>Demo</h1>
+ <div id="demo">
+ <table cellspacing="1" 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>
+ <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>
+ </div>
+ <h1>Javascript</h1>
+ <div id="javascript">
+ <pre class="javascript"></pre>
+ </div>
+ <h1>HTML</h1>
+ <div id="html">
+ <pre class="html"></pre>
+ </div>
+</div>
+
+</body>
+</html>
+
112 docs/example-meta-headers.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">
+<head>
+ <title>jQuery plugin: Tablesorter 2.0 - Disable headers using metadata</title>
+
+ <!-- jQuery -->
+ <script type="text/javascript" src="js/jquery-latest.js"></script>
+
+ <!-- Demo stuff -->
+ <link rel="stylesheet" href="css/jq.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="js/chili/chili-1.8b.js"></script>
+ <script type="text/javascript" src="js/docs.js"></script>
+ <script type="text/javascript" src="js/examples.js"></script>
+
+ <!-- Tablesorter: required -->
+ <link rel="stylesheet" href="../css/blue/style.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="../js/jquery.tablesorter.js"></script>
+
+ <!-- Tablesorter: optional -->
+ <script type="text/javascript" src="../addons/pager/jquery.tablesorter.pager.js"></script>
+ <script type="text/javascript" src="../js/jquery.metadata.js"></script>
+
+ <script type="text/javascript">
+ window.tableFile="table-metadata-disable.html";
+ </script>
+<script type="text/javascript" id="js">$(function() {
+ // call the tablesorter plugin, the magic happens in the markup
+ $("table").tablesorter();
+}); </script>
+</head>
+<body>
+<div id="banner">
+ <h1>table<em>sorter</em></h1>
+ <h2>Disable headers using metadata</h2>
+ <h3>Flexible client-side table sorting</h3>
+ <a href="index.html">Back to documentation</a>
+</div>
+<div id="main">
+ <h1>Demo</h1>
+ <div id="demo">
+ <table cellspacing="1" class="tablesorter">
+ <thead>
+ <tr>
+ <th class="{sorter: false}">First Name</th>
+ <th>Last Name</th>
+ <th>Age</th>
+ <th>Total</th>
+ <th class="{sorter: false}">Discount</th>
+ <th>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>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>
+ </div>
+ <h1>Javascript</h1>
+ <div id="javascript">
+ <pre class="javascript"></pre>
+ </div>
+ <h1>HTML</h1>
+ <div id="html">
+ <pre class="html"></pre>
+ </div>
+</div>
+
+</body>
+</html>
+
104 docs/example-meta-parsers.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">
+<head>
+ <title>jQuery plugin: Tablesorter 2.0 - Setting column parser using metadata</title>
+
+ <!-- jQuery -->
+ <script type="text/javascript" src="js/jquery-latest.js"></script>
+
+ <!-- Demo stuff -->
+ <link rel="stylesheet" href="css/jq.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="js/chili/chili-1.8b.js"></script>
+ <script type="text/javascript" src="js/docs.js"></script>
+ <script type="text/javascript" src="js/examples.js"></script>
+
+ <!-- Tablesorter: required -->
+ <link rel="stylesheet" href="../css/blue/style.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="../js/jquery.tablesorter.js"></script>
+ <script type="text/javascript" src="../js/jquery.metadata.js"></script>
+ <script type="text/javascript" src="../addons/pager/jquery.tablesorter.pager.js"></script>
+
+ <script type="text/javascript" id="js">$(document).ready(function() {
+ // call the tablesorter plugin, the magic happens in the markup
+ $("table").tablesorter();
+});</script>
+</head>
+<body>
+<div id="banner">
+ <h1>table<em>sorter</em></h1>
+ <h2>Setting column parser using metadata</h2>
+ <h3>Flexible client-side table sorting</h3>
+ <a href="index.html">Back to documentation</a>
+</div>
+<div id="main">
+ <h1>Demo</h1>
+ <div id="demo">
+ <table cellspacing="1" class="tablesorter">
+ <thead>
+ <tr>
+ <th class="{sorter: 'text'}">First Name</th>
+ <th>Last Name</th>
+ <th>Age</th>
+ <th>Total</th>
+ <th class="{sorter: 'percent'}">Discount</th>
+ <th>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>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>
+ </div>
+ <h1>Javascript</h1>
+ <div id="javascript">
+ <pre class="javascript"></pre>
+ </div>
+ <h1>HTML</h1>
+ <div id="html">
+ <pre class="html"></pre>
+ </div>
+</div>
+
+</body>
+</html>
+
108 docs/example-meta-sort-list.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">
+<head>
+ <title>jQuery plugin: Tablesorter 2.0 - Setting initial sorting order with metadata</title>
+
+ <!-- jQuery -->
+ <script type="text/javascript" src="js/jquery-latest.js"></script>
+
+ <!-- Demo stuff -->
+ <link rel="stylesheet" href="css/jq.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="js/chili/chili-1.8b.js"></script>
+ <script type="text/javascript" src="js/docs.js"></script>
+ <script type="text/javascript" src="js/examples.js"></script>
+
+ <!-- Tablesorter: required -->
+ <link rel="stylesheet" href="../css/blue/style.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="../js/jquery.tablesorter.js"></script>
+
+ <!-- Tablesorter: optional -->
+ <script type="text/javascript" src="../addons/pager/jquery.tablesorter.pager.js"></script>
+ <script type="text/javascript" src="../js/jquery.metadata.js"></script>
+
+<script type="text/javascript" id="js">$(function() {
+ // call the tablesorter plugin, the magic happens in the markup
+ $("table").tablesorter();
+});</script>
+</head>
+<body>
+<div id="banner">
+ <h1>table<em>sorter</em></h1>
+ <h2>Setting initial sorting order with metadata</h2>
+ <h3>Flexible client-side table sorting</h3>
+ <a href="index.html">Back to documentation</a>
+</div>
+<div id="main">
+ <h1>Demo</h1>
+ <div id="demo">
+ <!-- sortlist is appended to the table using the class attribute and is picked up by metadata plugin -->
+ <table cellspacing="1" class="tablesorter {sortlist: [[0,0],[4,0]]}">
+ <thead>
+ <tr>
+ <th>First Name</th>
+ <th>Last Name</th>
+ <th>Age</th>
+ <th>Total</th>
+ <th>Discount</th>
+ <th>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>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>
+ </div>
+ <h1>Javascript</h1>
+ <div id="javascript">
+ <pre class="javascript"></pre>
+ </div>
+ <h1>HTML</h1>
+ <div id="html">
+ <pre class="html"></pre>
+ </div>
+</div>
+
+</body>
+</html>
+
117 docs/example-option-debug.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">
+<head>
+ <title>jQuery plugin: Tablesorter 2.0 - Enabling debug mode</title>
+
+ <!-- jQuery -->
+ <script type="text/javascript" src="js/jquery-latest.js"></script>
+
+ <!-- Demo stuff -->
+ <link rel="stylesheet" href="css/jq.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="js/chili/chili-1.8b.js"></script>
+ <script type="text/javascript" src="js/docs.js"></script>
+ <script type="text/javascript" src="js/examples.js"></script>
+
+ <!-- Tablesorter: required -->
+ <link rel="stylesheet" href="../css/blue/style.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="../js/jquery.tablesorter.js"></script>
+
+ <!-- Tablesorter: optional -->
+ <script type="text/javascript" src="../addons/pager/jquery.tablesorter.pager.js"></script>
+ <script type="text/javascript" src="../js/jquery.metadata.js"></script>
+
+<script type="text/javascript" id="js">$(document).ready(function() {
+ // call the tablesorter plugin
+ $("table").tablesorter({
+ // enable debug mode
+ debug: true
+ });
+}); </script>
+</head>
+<body>
+<div id="banner">
+ <h1>table<em>sorter</em></h1>
+ <h2>Enabling debug mode</h2>
+ <h3>Flexible client-side table sorting</h3>
+ <a href="index.html">Back to documentation</a>
+</div>
+<div id="main">
+
+ <p class="tip">
+ <em>NOTE!</em> If firebug is installed the debuging information will be displayed in the firebug console.
+ </p>
+
+ <h1>Demo</h1>
+ <div id="demo">
+
+ <table cellspacing="1" 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>
+ <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>
+
+ </div>
+
+ <h1>Javascript</h1>
+ <div id="javascript">
+ <pre class="javascript"></pre>
+ </div>
+ <h1>HTML</h1>
+ <div id="html">
+ <pre class="html"></pre>
+ </div>
+</div>
+
+</body>
+</html>
+
109 docs/example-option-digits.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">
+<head>
+ <title>jQuery plugin: Tablesorter 2.0 - Enabling debug mode</title>
+
+ <!-- jQuery -->
+ <script type="text/javascript" src="js/jquery-latest.js"></script>
+
+ <!-- Demo stuff -->
+ <link rel="stylesheet" href="css/jq.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="js/chili/chili-1.8b.js"></script>
+ <script type="text/javascript" src="js/docs.js"></script>
+ <script type="text/javascript" src="js/examples.js"></script>
+
+ <!-- Tablesorter: required -->
+ <link rel="stylesheet" href="../css/blue/style.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="../js/jquery.tablesorter.js"></script>
+
+ <!-- Tablesorter: optional -->
+ <script type="text/javascript" src="../addons/pager/jquery.tablesorter.pager.js"></script>
+
+<script type="text/javascript" id="js">$(function() {
+ // call the tablesorter plugin
+ $("table").tablesorter();
+});</script>
+</head>
+<body>
+<div id="banner">
+ <h1>table<em>sorter</em></h1>
+ <h2>Dealing with digits</h2>
+ <h3>Flexible client-side table sorting</h3>
+ <a href="index.html">Back to documentation</a>
+</div>
+<div id="main">
+
+ <h1>Demo</h1>
+ <div id="demo">
+
+ <table cellspacing="1" class="tablesorter">
+ <thead>
+ <tr>
+ <th>First Name</th>
+ <th>Last Name</th>
+ <th>Age</th>
+ <th>Total</th>
+ <th>Discount</th>
+ <th>Diff</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>Peter</td>
+ <td>Parker</td>
+ <td>28</td>
+ <td>9.99</td>
+ <td>20.3%</td>
+ <td>+3</td>
+ </tr>
+ <tr>
+ <td>John</td>
+ <td>Hood</td>
+ <td>33</td>
+ <td>19.99</td>
+ <td>25.1%</td>
+ <td>-7</td>
+ </tr>
+ <tr>
+ <td>Clark</td>
+ <td>Kent</td>
+ <td>18</td>
+ <td>15.89</td>
+ <td>44.2%</td>
+ <td>-15</td>
+ </tr>
+ <tr>
+ <td>Bruce</td>
+ <td>Almighty</td>
+ <td>45</td>
+ <td>153.19</td>
+ <td>44%</td>
+ <td>+19</td>
+ </tr>
+ <tr>
+ <td>Bruce</td>
+ <td>Evans</td>
+ <td>56</td>
+ <td>153.19</td>
+ <td>23%</td>
+ <td>+9</td>
+ </tr>
+ </tbody>
+ </table>
+
+ </div>
+
+ <h1>Javascript</h1>
+ <div id="javascript">
+ <pre class="javascript"></pre>
+ </div>
+ <h1>HTML</h1>
+ <div id="html">
+ <pre class="html"></pre>
+ </div>
+</div>
+
+</body>
+</html>
+
112 docs/example-option-sort-force.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">
+<head>
+ <title>jQuery plugin: Tablesorter 2.0 - Force a default sorting order</title>
+
+ <!-- jQuery -->
+ <script type="text/javascript" src="js/jquery-latest.js"></script>
+
+ <!-- Demo stuff -->
+ <link rel="stylesheet" href="css/jq.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="js/chili/chili-1.8b.js"></script>
+ <script type="text/javascript" src="js/docs.js"></script>
+ <script type="text/javascript" src="js/examples.js"></script>
+
+ <!-- Tablesorter: required -->
+ <link rel="stylesheet" href="../css/blue/style.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="../js/jquery.tablesorter.js"></script>
+
+ <!-- Tablesorter: optional -->
+ <script type="text/javascript" src="../addons/pager/jquery.tablesorter.pager.js"></script>
+
+<script type="text/javascript" id="js">$(function() {
+ // call the tablesorter plugin
+ $("table").tablesorter({
+ // set forced sort on the fourth column and i decending order.
+ sortForce: [[0,0]]
+ });
+});</script>
+</head>
+<body>
+<div id="banner">
+ <h1>table<em>sorter</em></h1>
+ <h2>Force a default sorting order</h2>
+ <h3>Flexible client-side table sorting</h3>
+ <a href="index.html">Back to documentation</a>
+</div>
+<div id="main">
+ <h1>Demo</h1>
+ <div id="demo">
+ <table cellspacing="1" 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>
+ <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>
+ </div>
+ <h1>Javascript</h1>
+ <div id="javascript">
+ <pre class="javascript"></pre>
+ </div>
+ <h1>HTML</h1>
+ <div id="html">
+ <pre class="html"></pre>
+ </div>
+</div>
+
+</body>
+</html>
+
109 docs/example-option-sort-key.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">
+<head>
+ <title>jQuery plugin: Tablesorter 2.0 - Change multi-column sorting key</title>
+
+ <!-- jQuery -->
+ <script type="text/javascript" src="js/jquery-latest.js"></script>
+
+ <!-- Demo stuff -->
+ <link rel="stylesheet" href="css/jq.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="js/chili/chili-1.8b.js"></script>
+ <script type="text/javascript" src="js/docs.js"></script>
+ <script type="text/javascript" src="js/examples.js"></script>
+
+ <!-- Tablesorter: required -->
+ <link rel="stylesheet" href="../css/blue/style.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="../js/jquery.tablesorter.js"></script>
+
+ <!-- Tablesorter: optional -->
+ <script type="text/javascript" src="../addons/pager/jquery.tablesorter.pager.js"></script>
+ <script type="text/javascript" src="../js/jquery.metadata.js"></script>
+
+<script type="text/javascript" id="js">$(function() {
+ // call the tablesorter plugin
+ $("table").tablesorter({
+ // change the multi sort key from the default shift to alt button
+ sortMultiSortKey: 'altKey'
+ });
+}); </script>
+</head>
+<body>
+<div id="banner">
+ <h1>table<em>sorter</em></h1>
+ <h2>Change multi-column sorting key</h2>
+ <h3>Flexible client-side table sorting</h3>
+ <a href="index.html">Back to documentation</a>
+</div>
+<div id="main">
+ <h1>Demo</h1>
+ <div id="demo">
+ <table cellspacing="1" 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>
+ <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>
+ </div>
+ <h1>Javascript</h1>
+ <div id="javascript">
+ <pre class="javascript"></pre>
+ </div>
+ <h1>HTML</h1>
+ <div id="html">
+ <pre class="html"></pre>
+ </div>
+</div>
+
+</body>
+</html>
+
112 docs/example-option-sort-list.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">
+<head>
+ <title>jQuery plugin: Tablesorter 2.0 - Set a initial sorting order</title>
+
+ <!-- jQuery -->
+ <script type="text/javascript" src="js/jquery-latest.js"></script>
+
+ <!-- Demo stuff -->
+ <link rel="stylesheet" href="css/jq.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="js/chili/chili-1.8b.js"></script>
+ <script type="text/javascript" src="js/docs.js"></script>
+ <script type="text/javascript" src="js/examples.js"></script>
+
+ <!-- Tablesorter: required -->
+ <link rel="stylesheet" href="../css/blue/style.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="../js/jquery.tablesorter.js"></script>
+
+ <!-- Tablesorter: optional -->
+ <script type="text/javascript" src="../addons/pager/jquery.tablesorter.pager.js"></script>
+
+<script type="text/javascript" id="js">$(function() {
+ // call the tablesorter plugin
+ $("table").tablesorter({
+ // sort on the first column and third column, order asc
+ sortList: [[0,0],[2,0]]
+ });
+}); </script>
+</head>
+<body>
+<div id="banner">
+ <h1>table<em>sorter</em></h1>
+ <h2>Set a initial sorting order</h2>
+ <h3>Flexible client-side table sorting</h3>
+ <a href="index.html">Back to documentation</a>
+</div>
+<div id="main">
+ <h1>Demo</h1>
+ <div id="demo">
+ <table cellspacing="1" 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>
+ <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>
+ </div>
+ <h1>Javascript</h1>
+ <div id="javascript">
+ <pre class="javascript"></pre>
+ </div>
+ <h1>HTML</h1>
+ <div id="html">
+ <pre class="html"></pre>
+ </div>
+</div>
+
+</body>
+</html>
+
109 docs/example-option-sort-order.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">
+<head>
+ <title>jQuery plugin: Tablesorter 2.0 - Set a initial sort order</title>
+
+ <!-- jQuery -->
+ <script type="text/javascript" src="js/jquery-latest.js"></script>
+
+ <!-- Demo stuff -->
+ <link rel="stylesheet" href="css/jq.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="js/chili/chili-1.8b.js"></script>
+ <script type="text/javascript" src="js/docs.js"></script>
+ <script type="text/javascript" src="js/examples.js"></script>
+
+ <!-- Tablesorter: required -->
+ <link rel="stylesheet" href="../css/blue/style.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="../js/jquery.tablesorter.js"></script>
+
+ <!-- Tablesorter: optional -->
+ <script type="text/javascript" src="../addons/pager/jquery.tablesorter.pager.js"></script>
+ <script type="text/javascript" src="../js/jquery.metadata.js"></script>
+
+<script type="text/javascript" id="js">$(function() {
+ // call the tablesorter plugin
+ $("table").tablesorter({
+ // change the default sorting order from 'asc' to 'desc'
+ sortInitialOrder: "desc"
+ });
+}); </script>
+</head>
+<body>
+<div id="banner">
+ <h1>table<em>sorter</em></h1>
+ <h2>Set a initial sorting order</h2>
+ <h3>Flexible client-side table sorting</h3>
+ <a href="index.html">Back to documentation</a>
+</div>
+<div id="main">
+ <h1>Demo</h1>
+ <div id="demo">
+ <table cellspacing="1" 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>
+ <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>
+ </div>
+ <h1>Javascript</h1>
+ <div id="javascript">
+ <pre class="javascript"></pre>
+ </div>
+ <h1>HTML</h1>
+ <div id="html">
+ <pre class="html"></pre>
+ </div>
+</div>
+
+</body>
+</html>
+
89 docs/example-option-text-extraction.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">
+<head>
+ <title>jQuery plugin: Tablesorter 2.0 - Dealing with markup inside cells</title>
+
+ <!-- jQuery -->
+ <script type="text/javascript" src="js/jquery-latest.js"></script>
+
+ <!-- Demo stuff -->
+ <link rel="stylesheet" href="css/jq.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="js/chili/chili-1.8b.js"></script>
+ <script type="text/javascript" src="js/docs.js"></script>
+ <script type="text/javascript" src="js/examples.js"></script>
+
+ <!-- Tablesorter: required -->
+ <link rel="stylesheet" href="../css/blue/style.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="../js/jquery.tablesorter.js"></script>
+
+ <!-- Tablesorter: optional -->
+ <script type="text/javascript" src="../addons/pager/jquery.tablesorter.pager.js"></script>
+ <script type="text/javascript" src="../js/jquery.metadata.js"></script>
+
+<script type="text/javascript" id="js">$(document).ready(function() {
+ // call the tablesorter plugin
+ $("table").tablesorter({
+ // define a custom text extraction function
+ textExtraction: function(node) {
+ // extract data from markup and return it
+ return node.childNodes[0].childNodes[0].innerHTML;
+ }
+ });
+}); </script>
+</head>
+<body>
+<div id="banner">
+ <h1>table<em>sorter</em></h1>
+ <h2>Dealing with markup inside cells</h2>
+ <h3>Flexible client-side table sorting</h3>
+ <a href="index.html">Back to documentation</a>
+</div>
+<div id="main">
+ <h1>Demo</h1>
+ <div id="demo">
+ <table cellspacing="1" 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>
+ <tbody>
+ <tr>
+ <td><strong><em>Peter</em></strong></td>
+ <td><strong><em>Parker</em></strong></td>
+ <td><strong><em>28</em></strong></td>
+ <td><strong><em>$9.99</em></strong></td>
+ <td><strong><em>20%</em></strong></td>
+ <td><strong><em>Jul 6, 2006 8:14 AM</em></strong></td>
+ </tr>
+ <tr>
+ <td><strong><em>John</em></strong></td>
+ <td><strong><em>Hood</em></strong></td>
+ <td><strong><em>33</em></strong></td>
+ <td><strong><em>$19.99</em></strong></td>
+ <td><strong><em>25%</em></strong></td>
+ <td><strong><em>Dec 10, 2002 5:14 AM</em></strong></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <h1>Javascript</h1>
+ <div id="javascript">
+ <pre class="javascript"></pre>
+ </div>
+ <h1>HTML</h1>
+ <div id="html">
+ <pre class="html"></pre>
+ </div>
+</div>
+
+</body>
+</html>
+
119 docs/example-options-headers.html
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">
+<head>
+ <title>jQuery plugin: Tablesorter 2.0 - Disable headers using options</title>
+
+ <!-- jQuery -->
+ <script type="text/javascript" src="js/jquery-latest.js"></script>
+
+ <!-- Demo stuff -->
+ <link rel="stylesheet" href="css/jq.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="js/chili/chili-1.8b.js"></script>
+ <script type="text/javascript" src="js/docs.js"></script>
+ <script type="text/javascript" src="js/examples.js"></script>
+
+ <!-- Tablesorter: required -->
+ <link rel="stylesheet" href="../css/blue/style.css" type="text/css" media="print, projection, screen" />
+ <script type="text/javascript" src="../js/jquery.tablesorter.js"></script>
+
+ <!-- Tablesorter: optional -->
+ <script type="text/javascript" src="../addons/pager/jquery.tablesorter.pager.js"></script>
+ <script type="text/javascript" src="../js/jquery.metadata.js"></script>
+
+ <script type="text/javascript" id="js">$(function(){
+ $("table").tablesorter({
+ // pass the headers argument and assing a object
+ headers: {
+ // assign the secound column (we start counting zero)
+ 1: {
+ // disable it by setting the property sorter to false
+ sorter: false
+ },
+ // assign the third column (we start counting zero)
+ 2: {
+ // disable it by setting the property sorter to false
+ sorter: false
+ }
+ }
+ });
+});</script>
+</head>
+<body>
+<div id="banner">
+ <h1>table<em>sorter</em></h1>
+ <h2>Disable headers using options</h2>
+ <h3>Flexible client-side table sorting</h3>
+ <a href="index.html">Back to documentation</a>
+</div>
+<div id="main">
+ <h1>Demo</h1>
+ <div id="demo">
+ <table cellspacing="1" 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>
+ <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>