HTMLでのテーブルのソート方法


  1. JavaScriptを使用したテーブルのソート: JavaScriptを使ってテーブルをソートする方法はいくつかあります。代表的な方法として、以下の手順を実行します。

    • HTMLでテーブルを作成し、各列のヘッダーにクリックイベントを追加します。
    • クリックイベントが発生したら、JavaScriptの関数を呼び出し、テーブルの行をソートします。
    • ソートの方法には、数値の昇順・降順、文字列の昇順・降順などがあります。

    以下に、JavaScriptを使用したテーブルのソートのコード例を示します。

    <table id="myTable">
     <thead>
       <tr>
         <th onclick="sortTable(0)">Name</th>
         <th onclick="sortTable(1)">Age</th>
         <th onclick="sortTable(2)">Country</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td>John</td>
         <td>25</td>
         <td>USA</td>
       </tr>
       <!-- 他の行も同様に追加 -->
     </tbody>
    </table>
    <script>
     function sortTable(columnIndex) {
       var table = document.getElementById("myTable");
       var rows = Array.from(table.rows).slice(1); // ヘッダー行を除外
       rows.sort(function(a, b) {
         var aValue = a.cells[columnIndex].textContent;
         var bValue = b.cells[columnIndex].textContent;
         return aValue.localeCompare(bValue, undefined, {
           numeric: true,
           sensitivity: "base"
         });
       });
       rows.forEach(function(row) {
         table.tBodies[0].appendChild(row);
       });
     }
    </script>

    上記のコードでは、各列のヘッダーにonclick属性を追加しています。クリックイベントが発生すると、sortTable関数が呼び出され、指定された列の値に基づいてテーブルの行がソートされます。

  2. jQueryを使用したテーブルのソート: もう一つの方法として、jQueryを使用してテーブルをソートすることもできます。以下にコード例を示します。

    <table id="myTable">
     <thead>
       <tr>
         <th>Name</th>
         <th>Age</th>
         <th>Country</th>
       </tr>
     </thead>
     <tbody>
       <tr>
         <td>John</td>
         <td>25</td>
         <td>USA</td>
       </tr>
       <!-- 他の行も同様に追加 -->
     </tbody>
    </table>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
     $(document).ready(function() {
       $("#myTable").DataTable();
     });
    </script>

    上記のコードでは、jQueryのDataTableプラグインを使用してテーブルをソートしています。ソート機能はプラグインが自動的に提供してくれるため、独自のソート関数を実装する必要はありません。

これらはテーブルをソートするためのいくつかの方法とコード例です。他にも様々な方法がありますが、上記の情報を参考にしてテーブルのソート機能を実装してみてください。