384 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			384 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!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 - Writing custom widgets</title>
 | |
| 	<link rel="stylesheet" href="css/jq.css" type="text/css" media="print, projection, screen" />
 | |
| 	<link rel="stylesheet" href="../themes/blue/style.css" type="text/css" media="print, projection, screen" />
 | |
| 	<script type="text/javascript" src="../jquery-latest.js"></script>
 | |
| 	
 | |
| 	<script type="text/javascript" src="../jquery.tablesorter.js"></script>
 | |
| 	<script type="text/javascript" src="../addons/pager/jquery.tablesorter.pager.js"></script>
 | |
| 	<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">
 | |
| 	$(function() {
 | |
| 		// add new widget called repeatHeaders
 | |
| 		$.tablesorter.addWidget({
 | |
| 			// give the widget a id
 | |
| 			id: "repeatHeaders",
 | |
| 			// format is called when the on init and when a sorting has finished
 | |
| 			format: function(table) {
 | |
| 				// cache and collect all TH headers
 | |
| 				if(!this.headers) {
 | |
| 					var h = this.headers = []; 
 | |
| 					$("thead th",table).each(function() {
 | |
| 						h.push(
 | |
| 							"<th>" + $(this).text() + "</th>"
 | |
| 						);
 | |
| 						
 | |
| 					});
 | |
| 				}
 | |
| 				
 | |
| 				// remove appended headers by classname.
 | |
| 				$("tr.repated-header",table).remove();
 | |
| 				
 | |
| 				// loop all tr elements and insert a copy of the "headers"	
 | |
| 				for(var i=0; i < table.tBodies[0].rows.length; i++) {
 | |
| 					// insert a copy of the table head every 10th row
 | |
| 					if((i%5) == 4) {
 | |
| 						$("tbody tr:eq(" + i + ")",table).before(
 | |
| 							$("<tr></tr>").addClass("repated-header").html(this.headers.join(""))
 | |
| 						
 | |
| 						);	
 | |
| 					}
 | |
| 				}
 | |
| 				
 | |
| 			}
 | |
| 		});
 | |
| 		
 | |
| 		// call the tablesorter plugin and assign widgets with id "zebra" (Default widget in the core) and the newly created "repeatHeaders"
 | |
| 		$("table").tablesorter({
 | |
| 			widgets: ['zebra','repeatHeaders']
 | |
| 		});
 | |
| 
 | |
| 	}); 		
 | |
| 	</script>
 | |
| </head>
 | |
| <body>
 | |
| <div id="banner">	
 | |
| 	<h1>table<em>sorter</em></h1>
 | |
| 	<h2>Writing custom widgets</h2>
 | |
| 	<h3>Flexible client-side table sorting</h3>
 | |
| 	<a href="index.html">Back to documentation</a>
 | |
| </div>
 | |
| <div id="main">
 | |
| 
 | |
| <h1>Javascript</h1>
 | |
| <pre class="javascript">
 | |
| // add new widget called repeatHeaders
 | |
| $.tablesorter.addWidget({
 | |
| 	// give the widget a id
 | |
| 	id: "repeatHeaders",
 | |
| 	// format is called when the on init and when a sorting has finished
 | |
| 	format: function(table) {
 | |
| 		// cache and collect all TH headers
 | |
| 		if(!this.headers) {
 | |
| 			var h = this.headers = []; 
 | |
| 			$("thead th",table).each(function() {
 | |
| 				h.push(
 | |
| 					"<th>" + $(this).text() + "</th>"
 | |
| 				);
 | |
| 				
 | |
| 			});
 | |
| 		}
 | |
| 		
 | |
| 		// remove appended headers by classname.
 | |
| 		$("tr.repated-header",table).remove();
 | |
| 		
 | |
| 		// loop all tr elements and insert a copy of the "headers"	
 | |
| 		for(var i=0; i < table.tBodies[0].rows.length; i++) {
 | |
| 			// insert a copy of the table head every 10th row
 | |
| 			if((i%5) == 4) {
 | |
| 				$("tbody tr:eq(" + i + ")",table).before(
 | |
| 					$("<tr></tr>").html(this.headers.join(""))
 | |
| 				
 | |
| 				);	
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| });
 | |
| 
 | |
| // call the tablesorter plugin and assign widgets with id "zebra" (Default widget in the core) and the newly created "repeatHeaders"
 | |
| $("table").tablesorter({
 | |
| 	widgets: ['zebra','repeatHeaders']
 | |
| });
 | |
| </pre>
 | |
| 
 | |
| <h1>Demo</h1>
 | |
| <table cellspacing="1" class="tablesorter">
 | |
| 	<thead>
 | |
| 		<tr>
 | |
| 			<th>Name</th>
 | |
| 			<th>Major</th>
 | |
| 			<th>Sex</th>
 | |
| 			<th>English</th>
 | |
| 			<th>Japanese</th>
 | |
| 			<th>Calculus</th>
 | |
| 			<th>Geometry</th>
 | |
| 
 | |
| 		</tr>
 | |
| 	</thead>
 | |
| 	<tfoot>
 | |
| 		<tr>
 | |
| 			<th>Name</th>
 | |
| 			<th>Major</th>
 | |
| 			<th>Sex</th>
 | |
| 			<th>English</th>
 | |
| 			<th>Japanese</th>
 | |
| 			<th>Calculus</th>
 | |
| 			<th>Geometry</th>
 | |
| 
 | |
| 		</tr>
 | |
| 	</tfoot>
 | |
| 	<tbody>
 | |
| 		<tr>
 | |
| 			<td>Student01</td>
 | |
| 			<td>Languages</td>
 | |
| 			<td>male</td>
 | |
| 
 | |
| 			<td>80</td>
 | |
| 			<td>70</td>
 | |
| 			<td>75</td>
 | |
| 			<td>80</td>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student02</td>
 | |
| 
 | |
| 			<td>Mathematics</td>
 | |
| 			<td>male</td>
 | |
| 			<td>90</td>
 | |
| 			<td>88</td>
 | |
| 			<td>100</td>
 | |
| 			<td>90</td>
 | |
| 
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student03</td>
 | |
| 			<td>Languages</td>
 | |
| 			<td>female</td>
 | |
| 			<td>85</td>
 | |
| 			<td>95</td>
 | |
| 
 | |
| 			<td>80</td>
 | |
| 			<td>85</td>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student04</td>
 | |
| 			<td>Languages</td>
 | |
| 			<td>male</td>
 | |
| 
 | |
| 			<td>60</td>
 | |
| 			<td>55</td>
 | |
| 			<td>100</td>
 | |
| 			<td>100</td>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student05</td>
 | |
| 
 | |
| 			<td>Languages</td>
 | |
| 			<td>female</td>
 | |
| 			<td>68</td>
 | |
| 			<td>80</td>
 | |
| 			<td>95</td>
 | |
| 			<td>80</td>
 | |
| 
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student06</td>
 | |
| 			<td>Mathematics</td>
 | |
| 			<td>male</td>
 | |
| 			<td>100</td>
 | |
| 			<td>99</td>
 | |
| 
 | |
| 			<td>100</td>
 | |
| 			<td>90</td>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student07</td>
 | |
| 			<td>Mathematics</td>
 | |
| 			<td>male</td>
 | |
| 
 | |
| 			<td>85</td>
 | |
| 			<td>68</td>
 | |
| 			<td>90</td>
 | |
| 			<td>90</td>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student08</td>
 | |
| 
 | |
| 			<td>Languages</td>
 | |
| 			<td>male</td>
 | |
| 			<td>100</td>
 | |
| 			<td>90</td>
 | |
| 			<td>90</td>
 | |
| 			<td>85</td>
 | |
| 
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student09</td>
 | |
| 			<td>Mathematics</td>
 | |
| 			<td>male</td>
 | |
| 			<td>80</td>
 | |
| 			<td>50</td>
 | |
| 
 | |
| 			<td>65</td>
 | |
| 			<td>75</td>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student10</td>
 | |
| 			<td>Languages</td>
 | |
| 			<td>male</td>
 | |
| 
 | |
| 			<td>85</td>
 | |
| 			<td>100</td>
 | |
| 			<td>100</td>
 | |
| 			<td>90</td>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student11</td>
 | |
| 
 | |
| 			<td>Languages</td>
 | |
| 			<td>male</td>
 | |
| 			<td>86</td>
 | |
| 			<td>85</td>
 | |
| 			<td>100</td>
 | |
| 			<td>100</td>
 | |
| 
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student12</td>
 | |
| 			<td>Mathematics</td>
 | |
| 			<td>female</td>
 | |
| 			<td>100</td>
 | |
| 			<td>75</td>
 | |
| 
 | |
| 			<td>70</td>
 | |
| 			<td>85</td>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student13</td>
 | |
| 			<td>Languages</td>
 | |
| 			<td>female</td>
 | |
| 
 | |
| 			<td>100</td>
 | |
| 			<td>80</td>
 | |
| 			<td>100</td>
 | |
| 			<td>90</td>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student14</td>
 | |
| 
 | |
| 			<td>Languages</td>
 | |
| 			<td>female</td>
 | |
| 			<td>50</td>
 | |
| 			<td>45</td>
 | |
| 			<td>55</td>
 | |
| 			<td>90</td>
 | |
| 
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student15</td>
 | |
| 			<td>Languages</td>
 | |
| 			<td>male</td>
 | |
| 			<td>95</td>
 | |
| 			<td>35</td>
 | |
| 
 | |
| 			<td>100</td>
 | |
| 			<td>90</td>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student16</td>
 | |
| 			<td>Languages</td>
 | |
| 			<td>female</td>
 | |
| 
 | |
| 			<td>100</td>
 | |
| 			<td>50</td>
 | |
| 			<td>30</td>
 | |
| 			<td>70</td>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student17</td>
 | |
| 
 | |
| 			<td>Languages</td>
 | |
| 			<td>female</td>
 | |
| 			<td>80</td>
 | |
| 			<td>100</td>
 | |
| 			<td>55</td>
 | |
| 			<td>65</td>
 | |
| 
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student18</td>
 | |
| 			<td>Mathematics</td>
 | |
| 			<td>male</td>
 | |
| 			<td>30</td>
 | |
| 			<td>49</td>
 | |
| 
 | |
| 			<td>55</td>
 | |
| 			<td>75</td>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student19</td>
 | |
| 			<td>Languages</td>
 | |
| 			<td>male</td>
 | |
| 
 | |
| 			<td>68</td>
 | |
| 			<td>90</td>
 | |
| 			<td>88</td>
 | |
| 			<td>70</td>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student20</td>
 | |
| 
 | |
| 			<td>Mathematics</td>
 | |
| 			<td>male</td>
 | |
| 			<td>40</td>
 | |
| 			<td>45</td>
 | |
| 			<td>40</td>
 | |
| 			<td>80</td>
 | |
| 
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student21</td>
 | |
| 			<td>Languages</td>
 | |
| 			<td>male</td>
 | |
| 			<td>50</td>
 | |
| 			<td>45</td>
 | |
| 
 | |
| 			<td>100</td>
 | |
| 			<td>100</td>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student22</td>
 | |
| 			<td>Mathematics</td>
 | |
| 			<td>male</td>
 | |
| 
 | |
| 			<td>100</td>
 | |
| 			<td>99</td>
 | |
| 			<td>100</td>
 | |
| 			<td>90</td>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td>Student23</td>
 | |
| 
 | |
| 			<td>Languages</td>
 | |
| 			<td>female</td>
 | |
| 			<td>85</td>
 | |
| 			<td>80</td>
 | |
| 			<td>80</td>
 | |
| 			<td>80</td>
 | |
| 
 | |
| 		</tr>
 | |
| 	</tbody>
 | |
| </table>
 | |
| </div>
 | |
| <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
 | |
| <script type="text/javascript">
 | |
| _uacct = "UA-2189649-2";
 | |
| urchinTracker();
 | |
| </script>
 | |
| </body>
 | |
| </html>
 | |
| 
 | 
