ホームページ  >  記事  >  ウェブフロントエンド  >  jQuery がテーブルをソートする方法の詳細な例

jQuery がテーブルをソートする方法の詳細な例

黄舟
黄舟オリジナル
2017-08-11 13:59:201753ブラウズ

この記事では主に、テーブルに対する jquery の並べ替え操作のデモ例を紹介します。カスタム属性 data-sort-field-ftime を追加し、テーブル ヘッダーに onchange イベントを追加することで、操作プロセスを詳細に説明します。参考にしてください

最近 レポート配列をソートするためのフロントエンド処理は次のとおりです:

まず、フロントエンド時にtrの各行にカスタム属性data-sort-field-ftimeを追加します。ページがロードされ、属性値はソートされる値です。 フィールドの値 (便宜上、数値です): data-sort-field-ftime,属性值为要排序的字段的值(我的是数字比较方便):


$.each(jsonarray, function(i, obj) {
          troptions += "<tr data-sort-field-ftime=\""+obj.paiming+"\">";          
          troptions += "<td>"+(Number(obj.cdsPrem)/unitnow).toFixed(dotnow)+"</td>";
          troptions += "<td>"+(Number(obj.cdjPrem)/unitnow).toFixed(dotnow)+"</td>";
          troptions += "<td>"+(Number(obj.sumPrem)/unitnow).toFixed(dotnow)+"</td>";
          troptions += "<td>"+obj.paiming+"</td>";
          troptions += "</tr>";
      });

在要排序的表头添加onchange事件,以下为onchange


//排序处理
  function changepm(){
    var sortType=$("#pm").val();
    var $trList = $("#ta tbody > tr");//获取现有tr对象
    //冒泡排序    
    for (var i = 0; i < $trList.length - 1; i++) {
      for (var j = 0; j < $trList.length - 1 - i; j++) {
        var value1 = parseInt($trList[j].attributes["data-sort-field-ftime"].nodeValue); 
        var value2 = parseInt($trList[j + 1].attributes["data-sort-field-ftime"].nodeValue);
        if (sortType === "asc" ? value1 > value2 : value1 < value2) {
          var $temp = $trList[j];
          $trList[j] = null;
          $trList[j] = $trList[j + 1];
          $trList[j + 1] = null;
          $trList[j + 1] = $temp;
        }
      }
    }           
    //返回排序后的tr集合
    //将原来的tr清空,再将排序后的tr插入到table的dom中
    console.log($trList);
    $trList.appendTo($("#ta > tbody").empty());
  }

ソートするテーブルのヘッダーに onchange イベントを追加します。以下は次のとおりです。 onchange イベント: 🎜🎜🎜🎜rrreee

以上がjQuery がテーブルをソートする方法の詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。