Trier n tableaux d'une même page avec Jquery
Résolu
chris0938
Messages postés
96
Statut
Membre
-
chris0938 Messages postés 96 Statut Membre -
chris0938 Messages postés 96 Statut Membre -
Bonjour,
j'utilise un script JQuery permettant de trier un tableau en cliquant sur l'entête des colonnes
et je me demandais s'il etait possible de trier plusieurs tableaux qui se trouvent sur la même page. j'ai changé l'identifiant du tableau de facon a ce que chaque tableau est un identifiant unique mais cela ne fonctionne pas:
est ce que quelqu'un aurait une idée?
j'utilise un script JQuery permettant de trier un tableau en cliquant sur l'entête des colonnes
/* * Script qui permet de trier un tableau */ var table=function(){ //creation de l'objet sorter function sorter(n){ this.n=n; this.t; this.b; this.r; this.d; this.p; this.w; this.a=[]; this.l=0 } sorter.prototype.init=function(t,f){ //t correspond a l'identifiant du tableau //f correspond a la colonne qui sera trier lors de l'ouverture de la page this.t=document.getElementById(t); this.b=this.t.getElementsByTagName('tbody')[0]; this.r=this.b.rows; var l=this.r.length; for(var i=0;i<l;i++){ if(i==0){ var c=this.r[i].cells; this.w=c.length; for(var x=0;x<this.w;x++){ if(c[x].className!='nosort'){ c[x].className='head'; c[x].onclick=new Function(this.n+'.work(this.cellIndex)') } } }else{ this.a[i-1]={}; this.l++; } } if(f!=null){ var a=new Function(this.n+'.work('+f+')'); a() } } sorter.prototype.work=function(y){ this.b=this.t.getElementsByTagName('tbody')[0]; this.r=this.b.rows; var x=this.r[0].cells[y],i; for(i=0;i<this.l;i++){ this.a[i].o=i+1; var v=this.r[i+1].cells[y].firstChild; this.a[i].value=(v!=null)?v.nodeValue:'' } for(i=0;i<this.w;i++){ var c=this.r[0].cells[i]; if(c.className!='nosort'){ c.className='head' } } if(this.p==y){ this.a.reverse(); x.className=(this.d)?'asc':'desc'; this.d=(this.d)?false:true }else{ this.p=y; this.a.sort(compare); x.className='asc'; this.d=false } var n=document.createElement('tbody'); n.appendChild(this.r[0]); for(i=0;i<this.l;i++){ var r=this.r[this.a[i].o-1].cloneNode(true); n.appendChild(r); r.className=(i%2==0)?'even':'odd' } this.t.replaceChild(n,this.b) } function compare(f,c){ f=f.value, c=c.value; var i=parseFloat(f.replace(/(\$|\,)/g,'')), n=parseFloat(c.replace(/(\$|\,)/g,'')); if(!isNaN(i)&&!isNaN(n)){ f=i, c=n } return (f>c?1:(f<c?-1:0)) } return{ sorter:sorter } }();
et je me demandais s'il etait possible de trier plusieurs tableaux qui se trouvent sur la même page. j'ai changé l'identifiant du tableau de facon a ce que chaque tableau est un identifiant unique mais cela ne fonctionne pas:
<table class="sortable" id="sorter_<?php echo $nomProd;?>" <script type="text/javascript"> var sorter=new table.sorter("sorter_<?php echo $nomProd;?>"); sorter.init("sorter_<?php echo $nomProd;?>",6); </script>
est ce que quelqu'un aurait une idée?
A voir également:
- Trier n tableaux d'une même page avec Jquery
- Trier un tableau excel - Guide
- Supprimer une page word - Guide
- Imprimer tableau excel sur une page - Guide
- Créer une page facebook - Guide
- Comment traduire une page - Guide