mirror of
				https://github.com/privacyguides/privacyguides.org.git
				synced 2025-10-31 11:36:36 +00:00 
			
		
		
		
	
		
			
	
	
		
			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> | ||
|  | 
 |