2012-04-12 22:05:28 +00:00
<!DOCTYPE html>
< html >
< head >
< meta charset = "utf-8" >
< title > jQuery plugin: Tablesorter 2.0 - Sorting empty cells< / title >
<!-- jQuery -->
2014-05-21 22:09:23 +00:00
< script src = "js/jquery-latest.min.js" > < / script >
2012-04-12 22:05:28 +00:00
<!-- Demo stuff -->
< link rel = "stylesheet" href = "css/jq.css" >
2013-01-26 15:21:13 +00:00
< link href = "css/prettify.css" rel = "stylesheet" >
< script src = "js/prettify.js" > < / script >
2012-04-12 22:05:28 +00:00
< script src = "js/docs.js" > < / script >
<!-- Tablesorter: required -->
2012-09-27 19:57:19 +00:00
< link rel = "stylesheet" href = "../css/theme.blue.css" >
2012-04-12 22:05:28 +00:00
< script src = "../js/jquery.tablesorter.js" > < / script >
< script id = "js" > $ ( f u n c t i o n ( ) {
// call the tablesorter plugin
$("table").tablesorter({
2012-09-27 19:57:19 +00:00
theme : 'blue',
2012-04-20 16:09:43 +00:00
// default "emptyTo"
emptyTo: 'bottom'
2012-04-12 22:05:28 +00:00
});
});< / script >
< script >
$(function(){
$('select').change(function(){
var t = $('table'),
2012-04-20 16:09:43 +00:00
v = $(this).val();
t[0].config.emptyTo = v;
t.trigger("update");
2012-04-12 22:05:28 +00:00
});
});
< / script >
< / head >
< body >
< div id = "banner" >
< h1 > table< em > sorter< / em > < / h1 >
< h2 > Sorting empty cells< / 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 >
2014-09-07 14:00:02 +00:00
< p > < / p >
2012-04-12 22:05:28 +00:00
< ul >
2014-09-07 14:00:02 +00:00
< li > Set the < code > emptyTo< / code > selector below:
< ul >
< li > < code > top< / code > - sort empty table cells to the top.< / li >
< li > < code > bottom< / code > - sort empty table cells to the bottom.< / li >
< li > < code > none< / code > or < code > zero< / code >
< ul >
< li > Sort empty table cells as if the cell has the value equal to zero< / li >
< li > None/zero has a value less than A through Z (in javascript, < code > 0 < 'A' & & 0 < 'Z'< / code > ); so in an alphabetical column, empty cells will sort at the top in an ascending sort & at the bottom in a descending sort.< / li >
< li > In numerical columns, empty cells will sort as if their value was zero.< / li >
< / ul >
< / li >
< / ul >
< br >
< / li >
2012-09-27 19:57:19 +00:00
< li > Individual columns can be modified by adding the following (they all do the same thing), set in order of priority:
2012-04-20 16:09:43 +00:00
< ul >
2012-09-27 19:57:19 +00:00
< li > jQuery data < code > data-empty="top"< / code > .< / li >
< li > metadata < code > class="{ empty: 'top'}"< / code > . This requires the metadata plugin.< / li >
< li > headers option < code > headers : { 0 : { empty : 'top' } }< / code > .< / li >
< li > header class name < code > class="empty-top"< / code > .< / li >
2012-04-20 16:09:43 +00:00
< li > Overall < code > emptyTo< / code > option.< / li >
< / ul >
2014-09-07 14:00:02 +00:00
< br >
2012-04-20 16:09:43 +00:00
< / li >
2012-09-27 19:57:19 +00:00
< li > < code > emptyToBottom< / code > option was added in v2.1.11, then replaced by the < code > emptyTo< / code > option in v2.1.16.< / li >
2012-04-12 22:05:28 +00:00
< / ul >
2014-07-18 01:42:01 +00:00
< p >
2012-04-12 22:05:28 +00:00
< h1 > Demo< / h1 >
2012-09-27 19:57:19 +00:00
Set < code > emptyTo< / code > option: < select >
2012-04-20 16:09:43 +00:00
< option > bottom< / option >
< option > top< / option >
2014-09-07 14:00:02 +00:00
< option value = "zero" > none/zero< / option >
2012-04-12 22:05:28 +00:00
< / select >
< div id = "demo" > < table class = "tablesorter" >
< thead >
< tr >
2012-09-27 19:57:19 +00:00
< th class = "empty-top" > *Account #< / th > <!-- empty - top class has higher priority than the "emptyTo" option -->
2012-04-12 22:05:28 +00:00
< 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 > A43< / td >
< td > Peter< / td >
< td > Parker< / td >
< td > 28< / td >
< td > < / td >
< td > 20.3%< / td >
< td > +3< / td >
< / tr >
< tr >
< td > A255< / td >
< td > < / td >
< td > Hood< / td >
< td > < / td >
< td > 19.99< / td >
< td > 25.1%< / td >
< td > -7< / td >
< / tr >
< tr >
< td > < / td >
< td > Clark< / td >
< td > < / td >
< td > 18< / td >
< td > 15.89< / td >
< td > 44.2%< / td >
< td > -15< / td >
< / tr >
< tr >
< td > A1< / td >
< td > Bruce< / td >
< td > Almighty< / td >
< td > 45< / td >
< td > 153.19< / td >
< td > < / td >
< td > +19< / td >
< / tr >
< tr >
< td > A102< / td >
< td > Bruce< / td >
< td > Evans< / td >
< td > 56< / td >
< td > 153.19< / td >
< td > 23%< / td >
< td > < / td >
< / tr >
2012-04-18 18:47:00 +00:00
< tr >
< td > A109< / td >
< td > Larry< / td >
< td > Stevens< / td >
< td > 56< / td >
< td > 153.19< / td >
< td > 23%< / td >
< td > 0< / td >
< / tr >
< tr >
< td > A99< / td >
< td > John< / td >
< td > Smithy< / td >
< td > 56< / td >
< td > 156< / td >
< td > 22%< / td >
< td > < / td >
< / tr >
< tr >
< td > A119< / td >
< td > Mike< / td >
< td > Rowe< / td >
< td > 55< / td >
< td > -53.99< / td >
< td > 13%< / td >
< td > 0< / td >
< / tr >
2012-04-12 22:05:28 +00:00
< / tbody >
< / table > < / div >
2014-09-07 14:00:02 +00:00
* < span class = "label label-info" > Note< / span > The "Account #" column has the "empty-top" class name set which over-rides the < code > emptyTo< / code > option (see the order of priority note above).
< p > < / p >
2012-04-12 22:05:28 +00:00
< h1 > Javascript< / h1 >
< div id = "javascript" >
2013-01-26 15:21:13 +00:00
< pre class = "prettyprint lang-javascript" > < / pre >
2012-04-12 22:05:28 +00:00
< / div >
< h1 > HTML< / h1 >
< div id = "html" >
2013-01-26 15:21:13 +00:00
< pre class = "prettyprint lang-html" > < / pre >
2012-04-12 22:05:28 +00:00
< / div >
< div class = "next-up" >
< hr / >
Next up: < a href = "example-option-sort-key.html" > Change the default multi-sorting key › › < / a >
< / div >
< / div >
< / body >
< / html >