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 :

Faire apparaitre/disparaitre une liste en fonction des choix sur une autre liste


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Octobre 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2013
    Messages : 29
    Par défaut Faire apparaitre/disparaitre une liste en fonction des choix sur une autre liste
    Salut all

    Voila, comme dit le titre, j'aimerai faire apparaitre/disparaitre des listes en fonctions des choix fait sur une autre liste..

    Voila un code que j'ai réalisé pour exemple:

    Code js : 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
    <script type="text/javascript">
     
    function display()
    {  
        var td = document.getElementById('cacher');
     
        if(td.style.display == 'none')
        {
            td.style.display = 'block';
        }
        else
        {
            td.style.display = 'none';
        }
    }
     
    </script>


    Code html : 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
    	<fieldset>
    		<legend>Détails de votre commande de PC</legend>
    	<table>
    	<tr>
    		<td><label>Choisissez-vous un PC pré-configuré:</label></td>
    		<td><Select onchange="display();return false;" name="PcPreConfigure" required>
    				<option selected="selected" name="PcPreConfigure" value=""></option> 
    				<option  name="PcPreConfigure" value="Oui">Oui</option>
    				<option  name="PcPreConfigure" value="Non">Non</option>
    			</select></td>
     
    		<td><Select style="display:none;" id="cacher" required>
    				<option selected="selected"  value=""></option> 
    				<option value="Oui">test1</option>
    				<option value="Non">test2</option>
    			</select></td>
     
    		<td><Select style="display:none;" id="cacher" required>
    				<option selected="selected"  value=""></option> 
    				<option value="Oui">test3</option>
    				<option value="Non">test4</option>
    			</select></td>				
    	</tr>	
    	</table>
    	</fieldset>

    En gros j'aimerai que:
    lorsqu'on choisi sur le première liste le choix "oui", la liste avec les choix "test1" et "test 2", apparait
    lorsqu'on choisi sur le première liste le choix "non", la liste avec les choix "test3" et "test 4", apparait


    Avec le code si dessus lorsqu'on choisi le choix "oui" ça fonctionne, mais pas avec le choix "non"...

    J'y suis presque Merci d'avance pour votre aide!!

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 661
    Par défaut
    bonjour,

    - copier-coller 2 fois un code html avec des balises mal agencées (que vient faire le </select> après un </td> ?), c'est pas bien
    - copier-coller en oubliant de modifier la valeur des id (id="cacher") des objets select, c'est pas bien
    - oublier les balises <tr> dans un tableau, c'est pas bien non plus

  3. #3
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Octobre 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2013
    Messages : 29
    Par défaut
    Salut!

    Citation Envoyé par Auteur Voir le message
    bonjour,

    - copier-coller 2 fois un code html avec des balises mal agencées (que vient faire le </select> après un </td> ?), c'est pas bien
    - oublier les balises <tr> dans un tableau, c'est pas bien non plus
    Corrigé! merci


    Citation Envoyé par Auteur Voir le message
    - copier-coller en oubliant de modifier la valeur des id (id="cacher") des objets select, c'est pas bien
    Il vient surement de la mon problème, mais je ne vois pas quoi changer dans le JS.. Pour les id je peux mettre un "cacher1" et un "cacher2" j'imagine, mais dans le JS apres, aucune idée..

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 661
    Par défaut
    Pour les id je peux mettre un "cacher1" et un "cacher2" j'imagine, mais dans le JS apres, aucune idée..
    c'est ça...

    Ta première liste appelle la fonction display(). Rien ne t'empêche d'ajouter du code qui te permet de connaître l'option sélectionnée (FAQ Comment récupérer la valeur d'un select ?). Puis en fonction de la valeur tu affiches "cacher1" ou "cacher2".

  5. #5
    Membre averti
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Octobre 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2013
    Messages : 29
    Par défaut
    Erf, je galère un peu.. Non pas que c'est mal expliqué, au contraire, simplement que je débute en JS

    En gros j'ai une ligne de code qui va ressembler à ca si j'ai bien compris? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var td = document.getElementById('cacher1').options[1];

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 661
    Par défaut
    Dans un premier temps tu as ton select :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <select onchange="display(this);" id="PcPreConfigure" required>
    	<option selected="selected" value="choix">Faites votre choix</option> 
    	<option  value="Oui">Oui</option>
    	<option  value="Non">Non</option>
    </select>

    tu ajoutes en paramètre à la fonction display l'objet appelant (argument this dans le code ci-dessus). Cela te permet de récupérer l'objet select dans ta fonction.
    En passant le return false est sans intérêt ici. Ta liste a trois options ("Faites votre choix", "Oui", "Non").

    Puis en javascript :
    Code javascript : 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
    function display(liste)
    {
    	var idx = liste.selectedIndex;		// index de l'option
     
    	if (idx == 0)						// si index == 0 => option "faites votre choix"
    		return;							// alors on part
     
    	if (idx == 1)						// si index == 1 => option "oui"
    	{
    		// action : afficher liste 1
    	}
     
    	if (idx == 2)						// si index == 2 => option "non"
    	{
    		// action : afficher liste 2
    	}	
     
    }

    mais attention, si l'utilisateur change d'avis en passant de oui à non ou de non à oui avec la 1ère liste

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 31/05/2015, 20h57
  2. Réponses: 2
    Dernier message: 10/10/2013, 15h35
  3. Réponses: 2
    Dernier message: 17/03/2011, 21h45
  4. Réponses: 2
    Dernier message: 05/01/2011, 09h34
  5. Réponses: 1
    Dernier message: 20/03/2007, 08h58

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