Maison  >  Article  >  interface Web  >  Exemple détaillé de la façon dont jQuery trie une table

Exemple détaillé de la façon dont jQuery trie une table

黄舟
黄舟original
2017-08-11 13:59:201753parcourir

Cet article présente principalement un exemple de démonstration de tri d'une table par jquery. Il explique le processus d'opération en détail en ajoutant l'attribut personnalisé data-sort-field-ftime et en ajoutant l'événement onchange dans l'en-tête de la table. à cela

Récemment, le tableau du rapport doit être trié. Le traitement frontal est le suivant :

Tout d'abord, ajoutez un attribut personnalisé data-sort-field-ftime à chaque ligne de tr lorsque le front est affiché. la page est chargée et la valeur de l'attribut est le champ à trier. La valeur (la mienne est constituée de chiffres pour plus de commodité) :


$.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>";
      });

Ajoutez un événement onchange à l'en-tête. de la table à trier, voici l'événement 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());
  }

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn