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 :

Affichage dynamique de div


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 5
    Par défaut Affichage dynamique de div
    Bonjour,
    J'ai un petit problème:
    j'ai un formulaire avec plusieurs checkbox, et une checkbox supplémentaire qui me permet de cocher toutes les autres d'un seul clic. Lorsque que clique sur les checkbox une par une, j'ai un message qui s'affiche juste en dessous de chaque chekbox cochée. Cependant, lorsque je clique sur la checkbox "tout cocher", et donc que toutes les checkbox sont cochés, les messages en dessous de chaque checkbox ne s'affichent pas.. Savez vous d'ou viens le probleme?
    Voici mon code

    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
    28
    29
    30
    31
    32
    33
    34
    35
     
    <li><input class="check"  type="checkbox" id="c1" />
        <label class="year" for="c1">2011</label> (<span id="compteurAff2011">0</span> out of 9 selected.) <!-- compteur de checkbox cochées-->
        <ul>
      		<div name="texte2011" id="texte2011" class="texte">
                <fieldset class="fieldset1">
    	       <h5> Select all (2011) <input  class="parentCheckBox" onclick="RetourZero2011(this);compteur2011(this)" id="toutAff2011" type="checkbox"><br/> </h5>
    			<div class="texte_int">
     
    	  <?php for($i = 0; $i<9; $i++) {
    			 $resultat = $requete->fetch();
    			 $part = $resultat['Begin_date'];
    			 $idpart = $resultat['Particles_ID'];
    		     $date = DateTime::createFromFormat('Y-m-d', $part); //Les deux lignes servent à convertir la date du format Y-m-d au format Y/m/d
                 $part = $date->format('Y/m/d');
                 $endpart = $resultat['End_date'];
    			 $enddate = DateTime::createFromFormat('Y-m-d', $endpart); //Les deux lignes servent à convertir la date du format Y-m-d au format Y/m/d
                 $endpart = $enddate->format('Y/m/d');
    			 $brnumber = $resultat['BRnumber'];
    	         $allbrnumber[$resultat['BRnumber']] = $resultat['BRnumber'];
    	         $note = !empty($resultat['Note']) ? $resultat['Note'] : '';
     
    	echo"<input type='checkbox' class='childCheckBox' id='Choix_".$i."' name='mescases[]'
       onClick='NoteOption(".$i.");compteur2011(this)' 
       value='".$idpart." BR ".$brnumber . "(".$part." - ".$endpart. ")' /> 
       BR " .$brnumber . " (" .$part ." - ". $endpart .") <br/>";
     
    	echo "<div class='notes' id='comment_".$i."' style='display:none'> ";
    	echo $note;		 
    	echo "</div>";
    			 }?></div>
    			      </fieldset>
    		 </div>	  
              </ul>
          </li>
    et mon code java pour le probleme en question:

    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
    28
    29
    30
    31
    32
    33
    34
    35
     
     
    jQuery(document).ready(function($)
    {
     
       //en cliquant sur la checkbox parent on coche ou décoche toutes ses chechkbox enfants
       $(".parentCheckBox").click(
          function() {
             /* on check toutes les cases enfants en se servant des fieldset comme conteneur pour se repérer et de la classe childCheckBox pour savoir lesquels cocher ou décocher*/
             $(this).parents('.fieldset1').find('.childCheckBox').prop('checked', this.checked);
             });
     
       // en cochant une case enfant on coche ou décoche la parentCheckbox
       $('.childCheckBox').click(
          function() {
          // si la case parent est cochée mais que celle que nous venons de cocher ne l'est pas (plus) : on décoche la case parent
          if ( ($(this).parents('.fieldset1').find('.parentCheckBox').is(':checked') == true)  && ($(this).is(':checked') == false) )
             {$(this).parents('.fieldset1').find('.parentCheckBox').prop('checked', false);}
          // l'attribut checked est true si on vient de cliquer sur une case à cocher enfant
          if (this.checked == true) 
    	{// on définit notre valeur à true
             var val = true;
             // on boucle pour vérifier si une case à cocher n'est pas décochée : checked renvoie false
             $(this).parents('.fieldset1').find('.childCheckBox').each(
             function() 
             { // si renvoie false on attribue notre nouvelle valeur à false
             if (this.checked == false)
             val = false;
             });
             // on assigne au checkbox parent la bonne valeur : true si toutes sont cochées, false si au moins une checkbox est décochée
             $(this).parents('.fieldset1').find('.parentCheckBox').prop('checked', val);
             }	
             });
     
    });

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonsoir,

    peut-on voir le code HTML généré ? Ici le code PHP ne nous servira pas à grand chose.

    Citation Envoyé par thib1293
    mon code java pour le probleme en question:
    javascript pas java. Java et Javascript sont deux langages différents.

Discussions similaires

  1. Affichage dynamique d'un div
    Par pagoda dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 20/01/2013, 21h21
  2. pblm d'affichage d'un div vide d'une largeur désirée
    Par nuage dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 06/08/2005, 10h35
  3. Réponses: 1
    Dernier message: 08/07/2005, 02h46
  4. [VB.NET] - affichage dynamique dans un tableau
    Par karibouxe dans le forum ASP.NET
    Réponses: 8
    Dernier message: 20/06/2005, 15h07
  5. affichage dynamique en fonction des données en base
    Par jengo dans le forum Bases de données
    Réponses: 1
    Dernier message: 28/10/2004, 10h22

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