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

JavaScript Discussion :

Selectionner toutes les CheckBoxs avec boucle imbriquée.


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 34
    Par défaut Selectionner toutes les CheckBoxs avec boucle imbriquée.
    Bonjour à tous,

    le titre n'est pas très claire mais je ne peux faire mieux.
    Via un bouton 'select all' toutes mes checksbox doivent ou non se cocher.
    J'ai trouver un code qui fonctionne très bien quand dans le formulaire il n'y a qu'une seule boucle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script type="text/javascript">
    function Check_all(container_id,state)
     {
      var checkboxes = document.getElementById(container_id).getElementsByTagName('input');
      for (var i=0;i<checkboxes.length;i++)
       {
        if(checkboxes[i].type == 'checkbox')
         {
          checkboxes[i].checked = state;
         }
       }
      return true;
     }
    avec en html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form method="post" id="chkuv">
                                            <?php 
                                            $i=0;
                                            foreach($ppo->uvLibCourt as $uv){ ?>
                                                    <input type="checkbox" name="<?php echo $uv; ?>">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="info" href=""><?php echo $uv; ?><span class="uv"><?php echo $ppo->uvLibLong[$i]; ?></span></a>
                                            <?php $i++; } ?>         
                                        </form>
    Ce code fonctionne parfaitement, mais pour un autre tableau mon html change un peu pour devenir.
    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
    <form method="post" id="chkuv">
                            <?php 
                            $i=0; 
                            foreach($ppo->uvs as $uv){ ?>
                                <tr> 
                                    <td class="info_horaires">
                                            <input type="checkbox" name="<?php echo $uv->ID_UV; ?>">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="info" href=""><?php echo $uv->UV_LIBELLE_COURT; ?><span class="uv"><?php echo $uv->UV_LIBELLE_LONG; ?></span></a>                     
                                        <?php for($j=0;$j<$ppo->nbSem;$j++) {?>
                                            <td valign="top" class="other_day calendar_td" id="<?php echo blabla; ?>"> </td>
                                        <?php } ?>
     
                                    </td> 
                                </tr>
                            <?php $i++; } ?>         
                          </form>
    La fonction js elle ne change pas.

    En gros dans le deuxième cas, au lieu d'un tableau simple, j'ai un tableau à 2 entrées (donc boucle imbriqué). Et pour je ne sais quelle raison, la fonction js ne récupère plus les checkboxes.

    Si quelqu'un a une explication je suis vivement intéressé. Merci d'avance ).

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    1- à lire Important : Les règles incontournables d'utilisation de ce forum

    2- montre nous le comment tu fais appel à la fonction.
    Tu dois utiliser un checkbox du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="toto" onclick="Check_all('chkuv',this.checked)">
    A+.

  3. #3
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 34
    Par défaut
    Pour l'appel de la fonction, oui c'est presque cela.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                            <input type="button" value="Tout coher" onClick="Check_all('chkuv', true);"/>
                        <input type="button" value="Tout décocher" onClick="Check_all('chkuv', false);"/>
    Désolé si mon message n'étais pas en bonne et due forme, je le pensais.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Citation Envoyé par Azaxx Voir le message
    Désolé si mon message n'étais pas en bonne et due forme, je le pensais.
    Montre nous ton code HTML généré

  5. #5
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 34
    Par défaut
    Escuse moi pour la lenteur de ma réaction )

    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
    <form id="chkuv" method="post"></form>
    <tr>
    <td class="info_horaires">
    <input type="checkbox" name="9">
    <a class="info" href="">
    ST312GL
    <span class="uv">Génie Logiciel</span>
    </a>
    </td>
    <td id="blabla" class="other_day calendar_td" valign="top"> </td>
    <td id="blabla" class="other_day calendar_td" valign="top"> </td>
    {...}
    </tr>
    <tr>
    <td class="info_horaires">
    <input type="checkbox" name="7">
    <a class="info" href="">
    ST221ML
    <span class="uv">Management de la chaine logistique</span>
    </a>
    </td>
    <td id="blabla" class="other_day calendar_td" valign="top"> </td>
    <td id="blabla" class="other_day calendar_td" valign="top"> </td>
    {...}
    </tr>
    EDIT :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form id="chkuv" method="post"></form>
    Pour je ne sais quelle raison le form se ferme avant mon code ci-dessus

  6. #6
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 34
    Par défaut
    Bon ba j'ai trouvé la solution.

    C'est le fait de regarder mon code généré HTML qui ma mis la puce à l’oreille.

    Il faut juste que j'écarte encore plus mes balises de form. pour encadrer tout le <table> et pas juste mes boucles.

    Tout fonctionne mais cela ne m'explique toujours pas pourquoi je ne peux pas juste encadrer mes boucles avec mon <form>

    As-tu une idée?

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

Discussions similaires

  1. Script "tout cocher" (checkbox) avec div imbriqué
    Par kalisti dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/01/2009, 19h03
  2. [Formulaire][Javascript] Décocher toutes les checkbox
    Par Salam59 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/03/2006, 14h28
  3. Réponses: 1
    Dernier message: 30/11/2005, 14h57
  4. Selectionner toutes les tables
    Par Maxime555 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 08/06/2005, 09h24
  5. cmt selectionner tout les champ d'une liste deroulante
    Par mangamat dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/03/2005, 10h08

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