Champ input checkbox avec JQuery

Résolu/Fermé
chris0938 Messages postés 83 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 3 mai 2012 - 2 juin 2010 à 16:05
clint_889 Messages postés 10 Date d'inscription jeudi 8 juillet 2010 Statut Membre Dernière intervention 19 octobre 2010 - 27 sept. 2010 à 11:41
Bonjour,
j'utilise un tableau triable grace à ce script:

 
/*
 * Script qui permet de trier un tableau
 */
 
 
var table=function(){
    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){
        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
    }
}();





le trier ascendant/descendant s'effectue correctement.
cependant lorsque je rajoute un champs input de type checkbox la colonne en question ne se trie plus correctement.
comment faire pour y remédier?

3 réponses

chris0938 Messages postés 83 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 3 mai 2012 2
4 juin 2010 à 10:56
quelqu'un ma dit : "il faudrait rajouter dans le code la suppression des balises html avec la regExp afin qu'il ne trie que sur le contenu texte " mais honnêtement je ne sais pas comment faire.
0
chris0938 Messages postés 83 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 3 mai 2012 2
10 juin 2010 à 13:32
finalement j'ai trouvé un autre script qui fonctionne très bien et qui me règle un autre problème
0
clint_889 Messages postés 10 Date d'inscription jeudi 8 juillet 2010 Statut Membre Dernière intervention 19 octobre 2010 3
27 sept. 2010 à 11:41
On pourrait voir ce SCRIPT ? Merci d'avance...
0