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 :

[jquery]selection des noeuds suivant


Sujet :

jQuery

  1. #1
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut [jquery]selection des noeuds suivant
    Bonjour a tous depuis un petit moment j'essaie de creer une serie de
    question apparaissant au fur et à mesure suivant la réponse.
    En faites, il y a une question principal avec comme ID "ParentsQuest"
    qui suivant la reponse laisse apparaitre "ChildQuest" qui lui même
    laisse apparaitre "SecondChildQuest"
    Jusque la vous me suivez ?
    Seule probléme chaque hierarchie posséde les même ID et je doit
    laissez apparaitre ou non les éléments suivant ....

    Le JS:

    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
    jQuery('div#ParentsQuest :radio.quantity').click(function(){
     
                                   if(jQuery(this).val() <= 0 || jQuery(':radio.quantity').val() == null){
     
                                           jQuery('#ChildQuest:hidden').show("slow");
     
                                   }
     
                           })
                           jQuery('div#ChildQuest span[price] :radio.quantity').click(function(){
     
                                                   if(jQuery(this).val() <=0){
     
                                                           jQuery('#SecondChildQuest:hidden').show("slow");
     
                                                   }
                           });
    LE HTML :


    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    <div id="ParentsQuest">
           <label>
             Le site est-il déjà en ligne ?
           </label>
           <span price="750">
               <input type="radio" name="Offline.quantity" value="1"
    class="quantity" />
               oui
               <input type="radio" name="Offline.quantity" value="0"
    class="quantity" />
               non
     
             €<span class="total"></span>
           </span>
         </div>
          <div id="ChildQuest">
           <label>
             existe-t-il une version test en ligne ?
           </label>
           <span price="0">
               <input type="radio" name="Offline.quantity" value="1"
    class="quantity" />
               oui
               <input type="radio" name="Offline.quantity" value="0"
    class="quantity" />
               non
     
             €<span class="total"></span>
     
           </span>
         </div>
          <div id="SecondChildQuest">
           <label>
             Avez-vous une notion du nombre de page prévue ?
           </label>
           <span price="0">
               <input type="radio" name="Offline.quantity" value="1"
    class="quantity" />
               oui
               <input type="radio" name="Offline.quantity" value="0"
    class="quantity" />
               non
     
             €<span class="total"></span>
           </span>
         </div>
    <div id="ParentsQuest">
           <label>
             test1
           </label>
           <span price="750">
               <input type="radio" name="Offline.quantity" value="1"
    class="quantity" />
               oui
               <input type="radio" name="Offline.quantity" value="0"
    class="quantity" />
               non
     
             €<span class="total"></span>
           </span>
         </div>
          <div id="ChildQuest">
           <label>
             test2
           </label>
           <span price="0">
               <input type="radio" name="Offline.quantity" value="1"
    class="quantity" />
               oui
               <input type="radio" name="Offline.quantity" value="0"
    class="quantity" />
               non
     
             €<span class="total"></span>
     
           </span>
         </div>

    Seule problème la 1er série de question fonctionne mais une fois
    arrivée a la deuxieme rien ne se passe ????
    Je m'y prend certainement pas correctement pour sélectionner les
    noeuds, car je vais avoir une bonne serie de question a mettre en
    place.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Seule probléme chaque hierarchie posséde les même ID
    C'est effectivement un problème vu qu'un id est sensé être unique dans la page !

  3. #3
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    Oui effectivement j'ai effectuer ce changement mais j'ai tous qui se déroule hors je veux l'elements suivant.
    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
    jQuery('div.ParentsQuest :radio.quantity').click(function(){
     
    				if(jQuery(this).val() <= 0 || jQuery(':radio.quantity').val() == null){
     
    					jQuery('.ChildQuest').show("slow");
     
    				}
     
    			})
    			jQuery('div.ChildQuest span[price] :radio.quantity').click(function(){
     
    						if(jQuery(this).val() <=0){
     
    							jQuery('.SecondChildQuest').show("slow");
     
    						}
    			});
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    <div class="ParentsQuest">
           <label>
             Le site est-il déjà en ligne ?
           </label>
           <span price="750">
               <input type="radio" name="Offline.quantity" value="1"
    class="quantity" />
               oui
               <input type="radio" name="Offline.quantity" value="0"
    class="quantity" />
               non
     
             €<span class="total"></span>
           </span>
         </div>
          <div class="ChildQuest">
           <label>
             existe-t-il une version test en ligne ?
           </label>
           <span price="0">
               <input type="radio" name="Offline.quantity" value="1"
    class="quantity" />
               oui
               <input type="radio" name="Offline.quantity" value="0"
    class="quantity" />
               non
     
             €<span class="total"></span>
     
           </span>
         </div>
          <div class="SecondChildQuest">
           <label>
             Avez-vous une notion du nombre de page prévue ?
           </label>
           <span price="0">
               <input type="radio" name="Offline.quantity" value="1"
    class="quantity" />
               oui
               <input type="radio" name="Offline.quantity" value="0"
    class="quantity" />
               non
     
             €<span class="total"></span>
           </span>
         </div>
    <div class="ParentsQuest">
           <label>
             test1
           </label>
           <span price="750">
               <input type="radio" name="Offline.quantity" value="1"
    class="quantity" />
               oui
               <input type="radio" name="Offline.quantity" value="0"
    class="quantity" />
               non
     
             €<span class="total"></span>
           </span>
         </div>
          <div class="ChildQuest">
           <label>
             test2
           </label>
           <span price="0">
               <input type="radio" name="Offline.quantity" value="1"
    class="quantity" />
               oui
               <input type="radio" name="Offline.quantity" value="0"
    class="quantity" />
               non
     
             €<span class="total"></span>
     
           </span>
         </div>

  4. #4
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    Apres modification j'aimerai savoir comment faire apparaitre
    uniquement la question qui a comme class
    .ChildQuest_1 si je clique sur ParentsQuest_1 et ainsi de suite ..
    j'ai realiser un petit script pour faire cela mais je le trouve pas
    très pratique.
    Il faudrai avoir un truc du style si je clique sur .ParentsQuest+num
    je fais apparaitre .ChildQuest du même groupe (même numéro)

    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
    36
    jQuery('.ChildQuest_1').hide();
                           jQuery('.SecondChildQuest_1').hide();
                           jQuery('.ChildQuest_2').hide();
                           jQuery('.SecondChildQuest_2').hide();
                           jQuery('div.ParentsQuest_1 :radio.quantity').click(function(){
     
                                   if(jQuery(this).val() <= 0 || jQuery(':radio.quantity').val() == null){
     
                                           jQuery('.ChildQuest_1').show("slow");
     
                                   }
     
                           })
                           jQuery('div.ChildQuest_1 span[price] :radio.quantity').click(function(){
     
                                                   if(jQuery(this).val() <=0){
     
                                                           jQuery('.SecondChildQuest_1').show("slow");
                                                   }
                           });
                           jQuery('div.ParentsQuest_2 :radio.quantity').click(function(){
     
                                   if(jQuery(this).val() <= 0 || jQuery(':radio.quantity').val() == null){
     
                                           jQuery('.ChildQuest_2').show("slow");
     
                                   }
     
                           })
                           jQuery('div.ChildQuest_2 span[price] :radio.quantity').click(function(){
     
                                                   if(jQuery(this).val() <=0){
     
                                                           jQuery('.SecondChildQuest_2').show("slow");
                                                   }
                           });
    j'ai essayer également d'iterer ParentsQuest auto avec une fonction mais sans succés
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    jQuery('div.ParentsQuest').each(function(i){
    				   this.Class = this.Class + "_" + i;
    				 });

Discussions similaires

  1. faire afficher des données suivant une selection
    Par pi-2r dans le forum Langage
    Réponses: 11
    Dernier message: 15/07/2011, 01h58
  2. selection disctincte des noeuds
    Par josephpeka dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 01/05/2011, 23h57
  3. Réponses: 6
    Dernier message: 30/04/2009, 11h18
  4. selection des dates du moins courant ou suivant
    Par gtraxx dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/04/2009, 14h12
  5. Tree avec selection des noeuds
    Par Alec6 dans le forum JSF
    Réponses: 1
    Dernier message: 12/02/2007, 15h43

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