Maison interface Web js tutoriel Explication détaillée de l'implémentation par jQuery de la fonction de tri frontal des tables

Explication détaillée de l'implémentation par jQuery de la fonction de tri frontal des tables

Dec 27, 2017 pm 04:52 PM
jquery 前端 排序

Cet article présente principalement la fonction de tri frontal des tables implémentée par jQuery, impliquant les compétences opérationnelles de jQuery liées à l'obtention, au parcours et à la réponse aux événements des éléments de la table. J'espère que cela pourra aider tout le monde.

L'exemple de cet article décrit la fonction de tri frontal des tables implémentée par jQuery. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Tri frontal du tableau par colonne

Dépend de jQuery (cet exemple utilise jQuery-1.8.2)

1. Méthode d'initialisation


(function($){
  //插件
  $.extend($,{
    //命名空间
    sortTable:{
      sort:function(tableId,Idx){
        var table = document.getElementById(tableId);
        var tbody = table.tBodies[0];
        var tr = tbody.rows;
        var trValue = new Array();
        for (var i=0; i<tr.length; i++ ) {
          trValue[i] = tr[i]; //将表格中各行的信息存储在新建的数组中
        }
        if (tbody.sortCol == Idx) {
          trValue.reverse(); //如果该列已经进行排序过了,则直接对其反序排列
        } else {
          trValue.sort(function(tr1, tr2){
            var value1 = tr1.cells[Idx].innerText; //列
            var value2 = tr2.cells[Idx].innerText; //第二列
            value1 = value1.replace("%",""); //把有%的取消掉
            value1=value1.trim(); //去空格
            console.log(typeof(value1));
            if(isNaN(value1)){
              var index1 = value1.indexOf("分");
              var index2 = value2.indexOf("分");
              if(index1>0){
                var num1 =value1.substring(0,index1);
                var num2 =value1.substring(index1+1,value1.length-1);
                var num3 =value2.substring(0,index2);
                var num4 =value2.substring(index2+1,value2.length-1);
                if(parseFloat(num1)>parseFloat(num3)){
                  return 1;
                }
                if(parseFloat(num1)<parseFloat(num3)){
                  return -1;
                }
                if(parseFloat(num1)==parseFloat(num3)){
                  return parseFloat(num2)-parseFloat(num4)
                }
              }else{
                var a = tr1.cells[Idx].textContent;
                var b= tr2.cells[Idx].textContent;
                return a.localeCompare(b);
              }
            }else{
              return parseFloat(value1)-parseFloat(value2);
            }
          });
        }
        var fragment = document.createDocumentFragment(); //新建一个代码片段,用于保存排序后的结果
        //var index = 0;
        var arrtotal =new Array();
        for (var i=0; i<trValue.length; i++ ) {
          var c = trValue[i].cells[0].innerHTML;
          //console.log(c);
          if(c.trim().indexOf("汇总")!=-1){//汇总行总是排在表格最上面
          // index = i;
            arrtotal.push(i);
            }else{
          fragment.appendChild(trValue[i]);
         }
        }
        if(arrtotal.length>0){
          for(var k=arrtotal.length; k<0; k-- ){
             tbody.appendChild(trValue[arrtotal[k]]);
          }
        }
        //tbody.appendChild(trValue[index]);
        tbody.appendChild(fragment); //将排序的结果替换掉之前的值
        tbody.sortCol = Idx;
      }
    }
  });
})(jQuery);
Copier après la connexion

2.Fonction de page


function desc_change(id,str){
   $("#desc_1").html("日期");
   $("#desc_2").html("ID");
   $("#desc_3").html("类别");
   $("#"+id).html(str);
}
function desc(id,str){
  var htmlstr =$("#"+id).text().trim();
  var c =str;
  if(htmlstr==str){
    c=str+&#39;↓&#39;;
    $("#"+id).html(c);
  }else if(htmlstr==str+&#39;↓&#39;){
    c=str+&#39;↑&#39;
    $("#"+id).html(c);
  }else if(htmlstr==str+&#39;↑&#39;){
    c=str+&#39;↓&#39;
    $("#"+id).html(c);
  }
  desc_change(id,c)
}
Copier après la connexion

3.Structure DOM

<table id="tableSort">
    <thead>
    <tr>
        <th onclick="$.sortTable.sort(&#39;tableSort&#39;,0);desc(&#39;desc_1&#39;,&#39;日期&#39;)" ><a id="desc_1" >日期</a></th>
        <th onclick="$.sortTable.sort(&#39;tableSort&#39;,1);desc(&#39;desc_2&#39;,&#39;软件ID&#39;)" ><a id="desc_2" >ID</a></th>
      <th onclick="$.sortTable.sort(&#39;tableSort&#39;,2);desc(&#39;desc_x&#39;,&#39;渠道ID&#39;)" ><a id="desc_3" >类别</a></th>
    </tr>
    </thead>
    <tbody>
     <tr>
        <td>201870601</td>
        <td>汇总</td>
        <td>新闻</td>
     </tr>
    </tbody>
</table>
Copier après la connexion

Recommandations associées :

jquery implémente la pagination des tables sans actualisation

Code pour implémenter l'ajout dynamique et les statistiques des données de table basées sur jQuery_jquery

Utilisez JQuery pour réaliser le code de changement de couleur des lignes du tableau et de mise en évidence de la ligne_jquery actuelle

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP et Vue : une combinaison parfaite d'outils de développement front-end PHP et Vue : une combinaison parfaite d'outils de développement front-end Mar 16, 2024 pm 12:09 PM

PHP et Vue : une combinaison parfaite d'outils de développement front-end À l'ère actuelle de développement rapide d'Internet, le développement front-end est devenu de plus en plus important. Alors que les utilisateurs ont des exigences de plus en plus élevées en matière d’expérience des sites Web et des applications, les développeurs front-end doivent utiliser des outils plus efficaces et plus flexibles pour créer des interfaces réactives et interactives. En tant que deux technologies importantes dans le domaine du développement front-end, PHP et Vue.js peuvent être considérés comme une arme parfaite lorsqu'ils sont associés. Cet article explorera la combinaison de PHP et Vue, ainsi que des exemples de code détaillés pour aider les lecteurs à mieux comprendre et appliquer ces deux éléments.

Comment trier les scores WPS Comment trier les scores WPS Mar 20, 2024 am 11:28 AM

Dans notre travail, nous utilisons souvent le logiciel wps. Il existe de nombreuses façons de traiter les données dans le logiciel wps, et les fonctions sont également très puissantes. Nous utilisons souvent des fonctions pour trouver des moyennes, des résumés, etc. des méthodes qui peuvent être utilisées pour les données statistiques ont été préparées pour tout le monde dans la bibliothèque du logiciel WPS. Ci-dessous, nous présenterons les étapes à suivre pour trier les scores dans WPS. Après avoir lu ceci, vous pourrez tirer les leçons de cette expérience. 1. Ouvrez d’abord le tableau qui doit être classé. Comme indiqué ci-dessous. 2. Entrez ensuite la formule =rank(B2, B2 : B5, 0) et assurez-vous de saisir 0. Comme indiqué ci-dessous. 3. Après avoir saisi la formule, appuyez sur la touche F4 du clavier de l'ordinateur. Cette étape consiste à changer la référence relative en référence absolue.

Questions fréquemment posées par les enquêteurs front-end Questions fréquemment posées par les enquêteurs front-end Mar 19, 2024 pm 02:24 PM

Lors des entretiens de développement front-end, les questions courantes couvrent un large éventail de sujets, notamment les bases HTML/CSS, les bases JavaScript, les frameworks et les bibliothèques, l'expérience du projet, les algorithmes et les structures de données, l'optimisation des performances, les requêtes inter-domaines, l'ingénierie front-end, les modèles de conception et les nouvelles technologies et tendances. Les questions de l'intervieweur sont conçues pour évaluer les compétences techniques du candidat, son expérience en matière de projet et sa compréhension des tendances du secteur. Par conséquent, les candidats doivent être parfaitement préparés dans ces domaines pour démontrer leurs capacités et leur expertise.

Conseils jQuery : modifiez rapidement le texte de toutes les balises a de la page Conseils jQuery : modifiez rapidement le texte de toutes les balises a de la page Feb 28, 2024 pm 09:06 PM

Titre : jQuery Astuces : Modifier rapidement le texte de toutes les balises a de la page En développement web, nous avons souvent besoin de modifier et d'exploiter des éléments de la page. Lorsque vous utilisez jQuery, vous devez parfois modifier le contenu textuel de toutes les balises de la page en même temps, ce qui peut économiser du temps et de l'énergie. Ce qui suit explique comment utiliser jQuery pour modifier rapidement le texte de toutes les balises a de la page et donne des exemples de code spécifiques. Tout d'abord, nous devons introduire le fichier de la bibliothèque jQuery et nous assurer que le code suivant est introduit dans la page : &lt

Comment trier dans Excel Comment trier dans Excel Mar 05, 2024 pm 04:12 PM

Méthodes de tri dans Excel : 1. Tri sur une seule colonne ; 2. Tri sur plusieurs colonnes ; 3. Tri personnalisé. Introduction détaillée : 1. Le tri sur une seule colonne est la méthode de tri la plus courante. Il trie en fonction d'une colonne sélectionnée ; 2. Le tri sur plusieurs colonnes fait référence au tri des données dans plusieurs colonnes, généralement en fonction d'une certaine colonne en premier. de, trier par une autre colonne ; 3. Tri personnalisé, permettant aux utilisateurs de définir l'ordre de tri en fonction de leurs propres besoins.

Explorer la technologie front-end du langage Go : une nouvelle vision du développement front-end Explorer la technologie front-end du langage Go : une nouvelle vision du développement front-end Mar 28, 2024 pm 01:06 PM

En tant que langage de programmation rapide et efficace, le langage Go est très populaire dans le domaine du développement back-end. Cependant, peu de gens associent le langage Go au développement front-end. En fait, l’utilisation du langage Go pour le développement front-end peut non seulement améliorer l’efficacité, mais également ouvrir de nouveaux horizons aux développeurs. Cet article explorera la possibilité d'utiliser le langage Go pour le développement front-end et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre ce domaine. Dans le développement front-end traditionnel, JavaScript, HTML et CSS sont souvent utilisés pour créer des interfaces utilisateur.

Comment trier les tableaux WPS pour faciliter les statistiques de données Comment trier les tableaux WPS pour faciliter les statistiques de données Mar 20, 2024 pm 04:31 PM

WPS est un logiciel bureautique très complet, comprenant l'édition de texte, les tableaux de données, les présentations PPT, les formats PDF, les organigrammes et d'autres fonctions. Parmi eux, ceux que nous utilisons le plus sont les textes, les tableaux et les démonstrations, et ce sont aussi ceux que nous connaissons le mieux. Dans notre travail d'étude, nous utilisons parfois des tableaux WPS pour établir des statistiques de données. Par exemple, l'école comptera les scores de chaque élève. Si nous devons trier manuellement les scores de tant d'élèves, ce sera vraiment un casse-tête. en fait, nous n'avons pas à nous inquiéter, car notre table WPS a une fonction de tri pour résoudre ce problème pour nous. Apprenons ensuite comment trier les WPS ensemble. Étapes de la méthode : Étape 1 : Nous devons d’abord ouvrir la table WPS qui doit être triée

Comment réorganiser plusieurs colonnes dans Power Query par glisser-déposer Comment réorganiser plusieurs colonnes dans Power Query par glisser-déposer Mar 14, 2024 am 10:55 AM

Dans cet article, nous allons vous montrer comment réorganiser plusieurs colonnes dans PowerQuery par glisser-déposer. Souvent, lors de l'importation de données provenant de diverses sources, les colonnes peuvent ne pas être dans l'ordre souhaité. La réorganisation des colonnes vous permet non seulement de les organiser dans un ordre logique adapté à vos besoins d'analyse ou de reporting, mais elle améliore également la lisibilité de vos données et accélère les tâches telles que le filtrage, le tri et l'exécution de calculs. Comment réorganiser plusieurs colonnes dans Excel ? Il existe de nombreuses façons de réorganiser les colonnes dans Excel. Vous pouvez simplement sélectionner l'en-tête de colonne et le faire glisser vers l'emplacement souhaité. Cependant, cette approche peut devenir fastidieuse lorsqu’il s’agit de grands tableaux comportant de nombreuses colonnes. Pour réorganiser les colonnes plus efficacement, vous pouvez utiliser l'éditeur de requête amélioré. Améliorer la requête

See all articles