2011-10-26 06:50:02 +00:00
<!DOCTYPE html>
< html >
< head >
< meta charset = "utf-8" >
< title > jQuery plugin: Tablesorter 2.0 - Resizable Columns Widget< / title >
<!-- jQuery -->
2012-03-18 14:02:11 +00:00
< script src = "http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" > < / script >
2011-10-26 06:50:02 +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 >
2011-10-26 06:50:02 +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" >
2011-10-26 06:50:02 +00:00
< script src = "../js/jquery.tablesorter.js" > < / script >
< script src = "../js/jquery.tablesorter.widgets.js" > < / script >
<!-- Tablesorter: optional -->
<!-- <script src="../addons/pager/jquery.tablesorter.pager.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',
2011-10-26 06:50:02 +00:00
// initialize zebra striping and resizable widgets on the table
widgets: [ "zebra", "resizable" ]
});
});< / script >
< / head >
< body >
< div id = "banner" >
< h1 > table< em > sorter< / em > < / h1 >
< h2 > Resizable Columns Widget< / h2 >
< h3 > Flexible client-side table sorting< / h3 >
< a href = "index.html" > Back to documentation< / a >
< / div >
< div id = "main" >
< p class = "tip" >
2012-03-07 18:06:35 +00:00
< em > NOTE!< / em >
< ul >
< li > This widget can be applied to the original plugin. The code is in the "jquery.tablesorter.widgets.js" file.< / li >
2012-09-27 19:57:19 +00:00
< li > This widget now saves all changed column widths to local storage, or it falls back to a cookie! (v2.1)< / li >
< li > Column width saving requires the new "$.tablesorter.storage()" function included with the "jquery.tablesorter.widgets.js" file (v2.1).< / li >
2013-01-29 22:42:23 +00:00
< li > Right clicking (opening the context menu) will now reset the resized columns (v2.4).< / li >
< li > Holding down the shift key while resizing will force the last column or the table to resize instead of the next column, but only if the table is full width. < span class = "tip" > < em > New!< / em > < / span > v2.7.4.< / li >
< li > Prevent resizing a column by adding any of the following (they all do the same thing), set in order of priority < span class = "tip" > < em > New!< / em > < / span > v2.7.4:
< ul >
< li > jQuery data < code > data-resizable="false"< / code > .< / li >
< li > metadata < code > class="{ resizable: 'false'}"< / code > . This requires the metadata plugin.< / li >
< li > headers option < code > headers : { 0 : { resizable : 'false' } }< / code > .< / li >
< li > header class name < code > class="resizable-false"< / code > .< / li >
< / ul >
< / li >
< li > Setting the < code > resizable< / code > widget option to < code > false< / code > , will only prevent the saving of resized columns, it has nothing to do with preventing a column from being resized.< / li >
< li > Because this widget uses jQuery's < code > closest()< / code > (jQuery 1.3+) and < code > index()< / code > (jQuery 1.4+) functions, it requires these newer versions of jQuery in order to work.< / li >
< li > In order to save the resized widths, jQuery version 1.4.1+ should be used because jQuery's < code > parseJson()< / code > function is needed.< / li >
2012-03-07 18:06:35 +00:00
< / ul >
2011-10-26 06:50:02 +00:00
< / p >
< h1 > Demo< / h1 >
2013-01-29 22:42:23 +00:00
< div id = "demo" >
< h3 > Non-full width table < small > (individual columns resize)< / small > < / h3 >
< table class = "tablesorter" style = "width:auto" >
2011-10-26 06:50:02 +00:00
< thead >
< tr >
< th > First Name< / th >
< th > Last Name< / th >
2013-01-29 22:42:23 +00:00
< th class = "resizable-false" > Age< / th >
2011-10-26 06:50:02 +00:00
< 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 >
2013-01-29 22:42:23 +00:00
< / table >
< h3 > Full width table < small > (use shift to force last column to resize)< / small > < / h3 >
< table class = "tablesorter" >
< thead >
< tr >
< th > First Name< / th >
< th > Last Name< / th >
< th class = "resizable-false" > 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 >
2011-10-26 06:50:02 +00:00
< h1 > Page Header< / h1 >
< div >
2013-01-26 15:21:13 +00:00
< pre class = "prettyprint lang-html" > < !-- blue theme stylesheet with additional css styles added in v2.0.17 -->
2012-09-27 19:57:19 +00:00
< link rel=" stylesheet" href=" ../css/theme.blue.css" >
2011-10-26 06:50:02 +00:00
< !-- tablesorter plugin -->
< script src=" ../js/jquery.tablesorter.js" > < /script>
< !-- tablesorter widget file - loaded after the plugin -->
< script src=" ../js/jquery.tablesorter.widgets.js" > < /script> < / pre >
< / div >
< h1 > Javascript< / h1 >
< div id = "javascript" >
2013-01-26 15:21:13 +00:00
< pre class = "prettyprint lang-javascript" > < / pre >
2011-10-26 06:50:02 +00:00
< / div >
< h1 > HTML< / h1 >
2013-01-29 22:42:23 +00:00
< div >
< pre class = "prettyprint lang-html" > < !-- The Age column is set to not be resizable -->
< table class=" tablesorter" style=" width:auto" >
< thead>
< tr>
< th> First Name< /th>
< th> Last Name< /th>
< th class=" resizable-false" > Age< /th>
< th> Total< /th>
< th> Discount< /th>
< th> Date< /th>
< /tr>
< /thead>
< tbody>
...
< /tbody>
< /table> < / pre >
2011-10-26 06:50:02 +00:00
< / div >
< div class = "next-up" >
< hr / >
2012-02-01 05:14:28 +00:00
Next up: < a href = "example-widget-savesort.html" > Applying the save sort widget › › < / a >
2011-10-26 06:50:02 +00:00
< / div >
< / div >
< / body >
< / html >