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 :

Liste déroulante qui affiche une image


Sujet :

JavaScript

  1. #1
    Invité
    Invité(e)
    Par défaut Liste déroulante qui affiche une image
    Bonjour,

    Je début en HTML/javascript et j'aimerais faire une liste conditionnelle qui affiche une image une fois les deux choix remplis.

    Je m'explique plus en détail, j'ai une liste qui permet de chercher une marque de voiture. L'autre qui affiche le modèle de voiture, pas de problème pour lier ces deux listes. Mais une fois que le deuxième choix fait j'aimerais afficher plusieurs images en fonction du modèle choisi.

    Voila mon code (je l'espère pas trop moche ) pour ceux qui auraient l’amabilité de m'aider

    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
    !DOCTYPE html>
    <html>
    	<head>
    	<meta charset="UTF-8">
    		<title>Test voitures</title>
    		<style>
                            body
                            {
                                    margin:2em;
                                    font-family:Verdana;
                                    font-size:100%
                            }
                            label
                            {
                                    display:inline-block;
                                    width:10em;
                            }
                            select
                            {
                                    width:15em;
                                    font-family: Verdana;
                            }
                    </style>
    		<script type="text/javascript">
    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
     
    var categories = [];
    categories["startList"] = ["RENAULT", "PEUGEOT","CITRO\313N"
    categories["RENAULT"] = ["Cherokee (09/1984 - 01/1993)","Jeep (05/1982 - 01/1993)"," ","Avantime (09/2001 -03/2003)"];
    categories["PEUGEOT"] = ["106 (09/1991 - 03/1996)","106 - Restyling (03/1996 - 07/2003)"," ","107 (06/2005 - 02/2012)"];
    categories["CITRO\313N"] = ["Berlingo I Utilitaire (07/1996 - 12/2002)","Berlingo I Multispace (07/1996 - 12/2002)"];
     
    var nLists = 2;
     
    			function fillSelect(currCat,currList)
    			{
    				var step = Number(currList.name.replace(/\D/g,""));
    				for (i=step; i<nLists+1; i++)
    				{
    					document.forms['tripleplay']['List'+i].length = 1;
    					document.forms['tripleplay']['List'+i].selectedIndex = 0;
    				}
    				var nCat = categories[currCat];
    				for (each in nCat)
    				{
    					var nOption = document.createElement('option'); 
    					var nData = document.createTextNode(nCat[each]); 
    					nOption.setAttribute('value',nCat[each]); 
    					nOption.appendChild(nData); 
    					currList.appendChild(nOption); 
    				}
    			}
     
    			function init()
    			{
    				fillSelect('startList',document.forms['tripleplay']['List1'])
    			}
     
    			navigator.appName == "Microsoft Internet Explorer" ? attachEvent('onload', init, false) : addEventListener('load', init, false);
    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
    26
    27
    28
    29
    30
    		</script>
    <body>
     
    <form name="tripleplay" action="">
       <p>
    		<select name='List1' onchange="fillSelect(this.value,this.form['List2'])">
    		<p id="List1" style="font-size:35px;"></p>
    		<option selected>Choisir une marque</option>
    		</select>
    	</p>
    	<p>
    		<select name='List2' onchange="fillSelect(this.value,this.form['List3'])">
    		<option selected>Choisir un mod&egravele</option>
    		</select>
    	</p>
    	<p>
     
     
    <table>
    	<tbody>
    		<tr>
    			<td>
    			<td><a class="catalogue" target="_self" href="URL1"><img src="IMAGE1" hspace="0" border="0" vspace="0" width="70"></a></td>
    			<td style="text-align: left;"><a class="catalogue" target="_self" href="URL1"><span class="catalogue">Batteries<br></span></td>
    			</td>
    			<td>
    			<td><a class="catalogue" target="_self" href="URL2"><img src="IMAGE2" hspace="0" border="0" vspace="0" width="70"></a></td>
    			<td style="text-align: left;"><a class="catalogue" target="_self" href="URL2"><span class="catalogue">Eclairage<br></span></td>
    			</td>
    		</tr>

    J'avais pensé à faire une liste de if et donc à mettre une variable sur chaque catégorie mais c'est long non ?
    Dernière modification par NoSmoking ; 09/04/2014 à 23h06.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bon après plusieurs essais il faudrait que je réussisse a faire un mixt entre ces deux codes la... vous avez peut être une idée ?

    Donc quand je clic sur : "PEUGEOT" puis sur "106 (09/1991 - 03/1996)" il faudrait que ca affiche IMAGE1.

    Ca :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <form name="tripleplay" action="">
       <p>
    	<select name='List1' onchange="fillSelect(this.value,this.form['List2'])">
    		<p id="List1" style="font-size:35px;"></p>
    		<option selected>Choisir une marque</option>
    	</select>
    	</p>
    	<p>
    		<select name='List2' onchange="fillSelect(this.value,this.form['List3'])">
    		<option selected>Choisir un mod&egravele</option>
    		</select>
    	</p>
    <p>
    et ca :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <select onChange="document.getElementById('coucou').src=this.value">
    <option value="">Choisissez ! 
    </option>
    <option value="IMAGE1"selected>PIECE1</option>
    <option value="IMAGE2">PIECE2</option>
    <option value="IMAGE3">PIECE3</option>
    </select>
     <img id ='coucou' src ='IMAGE1'>
    <br>
    Dernière modification par Bovino ; 09/04/2014 à 17h46. Motif: Merci d'indiquer le langage utilisé ([code=xxx]) pour activer la coloration syntaxique !

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 144
    Points : 44 954
    Points
    44 954
    Par défaut
    Bonjour,
    as tu regardé du coté de la Comment lier deux listes déroulantes entre elles ?

  4. #4
    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 : 54
    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
    Mouais... sauf qu'avant de vouloir manipuler des listes déroulantes en JavaScript, il est important de savoir les coder correctement en HTML, ce qui ne semble pas être le cas.
    Il existe des règles concernant ce que peuvent contenir ou non certaines balises et il faut respecter ces règles.

Discussions similaires

  1. Choix dans une liste déroulante qui affiche la div correspondante
    Par Mr Quinou dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/11/2014, 10h20
  2. liste déroulante qui affiche des images 2
    Par zup17 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/02/2011, 20h45
  3. Pb avec liste déroulante qui alimente une zone de liste
    Par Tequila_PF dans le forum VBA Access
    Réponses: 8
    Dernier message: 18/06/2008, 10h04
  4. [PHP-JS] liste déroulante qui déclecnhe une action.
    Par mikebranque dans le forum Langage
    Réponses: 3
    Dernier message: 05/06/2006, 18h43
  5. Un lien qui affiche une image au survole
    Par Edoxituz dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 28/01/2006, 13h06

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