IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

[DataTable] Supprimer un filtre personnalisé [Plugin]


Sujet :

jQuery

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 135
    Points : 53
    Points
    53
    Par défaut [DataTable] Supprimer un filtre personnalisé
    Bonjour,

    J'essaye désespérément de mettre en place un système de filtre par l'intermédiaire de 4 checkbox sous DataTable.

    Je souhaiterais lorsque je clique sur un des checkbox modifier mon filtre et n'afficher que les valeurs souhaitées.
    J'ai réussi à créer mon filtre mais il y a un petit hic, lorsque je sélectionne un autre checkbox, il m'ajoute le filtre au lieux de le remplacer.
    Avez vous une idée de mon erreur?

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <tr>
     <td class="libelle30pc">
         <input type="RADIO" name="choix" value="tous" id="tous" >Tous
         <input type="RADIO" name="choix" value="nonSaisie" id="nonSaisie">Pas encore saisis
         <input type="RADIO" name="choix" value="retard" id="retard">En retard
         <input type="RADIO" name="choix" value="saisis" id="saisis">Saisis
     </td>
    </tr>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
       $("[name=choix]").change( function() {
            var monCheck=this.id;
     
                $.fn.dataTableExt.afnFiltering.push(
                    function( oSettings, aData, iDataIndex ) {
                            var iEtat = aData[6];
                            switch (monCheck){
                                case 'tous':
                                    return true;
                                case 'nonSaisie':
                                    if(iEtat === '') return true;
                                    else return false;
                                case 'retard':
                                    var now=moment();
                                    var maDate=moment(aData[5],"DD/MM/YYYY");
                                    if(maDate.unix()<now.unix() && aData[6] === ''){
                                        return true;
                                    } else {return false; }
                                    break;
     
                            };
                    }
                );
                oTable.fnDraw();
     
        } );
    Merci

  2. #2
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 135
    Points : 53
    Points
    53
    Par défaut
    Il suffit que je pose la question pour trouver mon problème

    La solution pour ceux qui auront le problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
        $("[name=choix]").change( function() {
            oTable.fnDraw();
        } );
     
     
        $.fn.dataTableExt.afnFiltering.push(
            function( oSettings, aData, iDataIndex ) {
                    var iEtat = aData[6];
                    var monCheck=$("[name=choix]:checked").val();
                    //console.dir(iEtat);
                    switch (monCheck){
                        case 'tous':
                            return true;
                        case 'nonSaisie':
                            if(iEtat === '') return true;
                            else return false;
                        case 'retard':
                            var now=moment();
                            var maDate=moment(aData[5],"DD/MM/YYYY");
                            if(maDate.unix()<now.unix() && aData[6] === ''){
                                return true;
                            } else {return false; }
                            break;
     
                    };
            }
        );

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Filtre personnalisé sensible à la casse
    Par billybob2 dans le forum Projets ADP
    Réponses: 0
    Dernier message: 03/11/2010, 08h10
  2. ice:dataTable ajouter des filtres à l'affichage
    Par DamienF dans le forum JSF
    Réponses: 4
    Dernier message: 20/10/2008, 19h28
  3. Syntaxe pour mettre filtre personnalisé dans macro
    Par tonioj41 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/02/2008, 15h06
  4. problème filtre personnalisé
    Par D.Mounir dans le forum Excel
    Réponses: 1
    Dernier message: 03/05/2007, 17h16
  5. Réponses: 11
    Dernier message: 13/09/2006, 10h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo