こんにちは朱夏です。
今回は、JavaScriptでソートできるテーブル(表)を作る方法を解説します。
テーブルだけなら作れるけど、ソートが出来るようにするにはどうしたらいいんだろう?
今回はJavaScriptのライブラリ「Datatables」を使って作っていきたいと思います。
「Datatables」の使い方についても解説していきます。
それではいってみましょう。
「Datatables」の紹介
テーブルの実装方法
あとがき
「Datatables」の紹介
今回使用するライブラリ「Datatables」を紹介します。
公式サイトはこちらになります。
トップページの「Full getting Started Guide」ボタンからスターターガイドが見れます。
英語なので翻訳してみると良いと思います。
テーブルの実装方法
テーブルの実装方法を解説していきます。
今回は例として、果物の種類と値段の一覧を作ってみます。
初めに上記で紹介した「Datatables」を導入します。
トップページにあるCSSとJavaScriptをHTMLから読み込みます。
コードはこちら。
<link rel="stylesheet" href="https://cdn.datatables.net/t/bs-3.3.6/jqc-1.12.0,dt-1.10.11/datatables.min.css"/> <script src="https://cdn.datatables.net/t/bs-3.3.6/jqc-1.12.0,dt-1.10.11/datatables.min.js"></script>
<head>~</head>タグの間に上記のコード2行を追記します。
次に、テーブルを作ります。
テーブルにはJavaScriptを呼び出すためにidを付けておきます。
コードはこちら。
<table id="table_id" class="display"> <thead> <tr> <th>#</th> <th>名前</th> <th>価格</th> <th>備考</th> </tr> </thead> <tbody class="table-body"> <tr> <td>1</td> <td>りんご</td> <td>100</td> <td></td> </tr> <tr> <td>2</td> <td>バナナ</td> <td>120</td> <td></td> </tr> <tr> <td>3</td> <td>みかん</td> <td>150</td> <td></td> </tr> <tr> <td>4</td> <td>いちご</td> <td>500</td> <td></td> </tr> <tr> <td>5</td> <td>キウイ</td> <td>100</td> <td></td> </tr> <tr> <td>6</td> <td>マスカット</td> <td>300</td> <td></td> </tr> <tr> <td>7</td> <td>スイカ</td> <td>1000</td> <td></td> </tr> <tr> <td>8</td> <td>メロン</td> <td>3000</td> <td></td> </tr> <tr> <td>9</td> <td>レモン</td> <td>120</td> <td></td> </tr> <tr> <td>10</td> <td>サクランボ</td> <td>500</td> <td></td> </tr> <tr> <td>11</td> <td>桃</td> <td>200</td> <td></td> </tr> <tr> <td>12</td> <td>梨</td> <td>150</td> <td></td> </tr> </tbody> </table>
これでテーブルの準備が出来ました。
最後に、テーブルにソート機能を付けていきます。JavaScriptに以下のコードを書いていきます。
jQuery(function($){ $("#table_id").DataTable(); });
これで完成です。
CSSでテーブルが見やすいように枠や色を付けてています。
サンプルはこちら。
See the Pen
dyYzEPV by 朱夏 (@syunatsu1)
on CodePen.
こんな感じです。
各項目のソートボタンで昇順、降順に並べ替える事が出来る様になりました。
あとがき
というわけで、JavaScriptのライブラリ「Datatables」を使ってソートが出来るテーブルを作ってみました。
今回のまとめはこちら。
- CDNで「Datatables」を追加
- idでHTMLからJavaScriptを呼び出す
- JavaScriptにコードを書き込む
テーブルさえ作れれば実装は割と簡単にできるので、是非試してみてください。
今回は以上です。
次回もよろしくお願いします。