table並び替え(ソート)などができるようになるjQuery「tablesorter」

jQuery plugin: Tablesorter 2.0

<table>タグで組んだ表組みを綺麗にゼブラ模様にしたりソートしたりする機能をつけることができます。

歴代J1 順位表 で実際に使っていますので見てみて下さい。

ファイルの読み込みは以下の3つ。自分が使いたいcssjquery-latest.jsjquery.tablesorter.jsです。jquery-latest.jsは他でjQueryを読み込んでいたら必要ありません。

<link href="./themes/blue/style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="./jquery-latest.js"></script>
<script type="text/javascript" src="./jquery.tablesorter.js"></script>

WordPressではfunction.phpで読み込ませることになるので、jsの場合はこんな感じ。

wp_enqueue_script( 'jquery.tablesorter', get_bloginfo('stylesheet_directory'). '/_jquery.tablesorter/jquery.tablesorter.js', array( 'jquery' ), '1.0');//tableソート用js */

cssはこんな感じでしょうか。

wp_register_style('table_sort_css', get_bloginfo('stylesheet_directory'). '/_jquery.tablesorter/themes/blue/style.css');/*tableソート用css */
:
:
wp_enqueue_style('table_sort_css');

でtableを組みます。重要なのはidとclassです。idは任意のものを付けて、classは必ずtablesorterにします。

<table id="myTable" class="tablesorter"> 
<thead> 
<tr> 
    <th>Last Name</th> 
    <th>First Name</th> 
    <th>Email</th> 
    <th>Due</th> 
    <th>Web Site</th> 
</tr> 
</thead> 
<tbody> 
<tr> 
    <td>Smith</td> 
    <td>John</td> 
    <td>jsmith@gmail.com</td> 
    <td>$50.00</td> 
    <td>http://www.jsmith.com</td> 
</tr> 
<tr> 
    <td>Bach</td> 
    <td>Frank</td> 
    <td>fbach@yahoo.com</td> 
    <td>$50.00</td> 
    <td>http://www.frank.com</td> 
</tr> 
<tr> 
    <td>Doe</td> 
    <td>Jason</td> 
    <td>jdoe@hotmail.com</td> 
    <td>$100.00</td> 
    <td>http://www.jdoe.com</td> 
</tr> 
<tr> 
    <td>Conway</td> 
    <td>Tim</td> 
    <td>tconway@earthlink.net</td> 
    <td>$50.00</td> 
    <td>http://www.timconway.com</td> 
</tr> 
</tbody> 
</table>

で、ページ内のどこかにスクリプトを表記します。idを指定することでそのidのtableがソート対応になります。複数のtableでも使えます。

<script type="text/javascript">
jQuery(function($) {
	$('#myTable').tablesorter();
});
</script>

オプションもいろいろとあります。

<script type="text/javascript">
jQuery(function($) {
	$('#myTable').tablesorter({
		widgets: ['zebra'],
		sortList: [[0,0],[1,1]] ,
		headers: {2: {sorter:false}}
	});
});
</script>

widgets: [‘zebra’]は一行づつ色を変えるオプションです。

sortListはデフォルトで表示する昇順降順を指定出来ます。[0,0]の場合は0列目(左から1列目)を0(昇順)で表示するという意味になります。同様に[1,1]は1列目(左から2列目)を1(降順)で表示するという意味になります。

headers: {2: {sorter:false}はソートさせたくない列に対して指定します。この場合2(左から3列目)をソートしないようにします。

他にもいろいろオプションがありますが、よく使うのはこれくらいでしょう。

詳しい説明はjQuery plugin: Tablesorter 2.0で。

コメント

タイトルとURLをコピーしました