Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/08/2011, 13h36   #1
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 239
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 239
Points : 1 046
Points : 1 046
Par défaut [DOM] Ajouter des options à une liste déroulante

Bonjour à tous,

J'ai du code qui permet de générer une liste déroulante :

Code :
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
function Choix(event){
	//alert(event.target.value);
	//alert(event.target.name);
	if(event.target.value == -1) return false;
	else
	{
		switch (event.target.name){
			case "GFAP" :
				var txt = new Array ('Diffus','Focal');
			break;
			case "2":
				var txt = new Array ('Radioactivité','Information','Mesures');
			break;
			case "3" :
				var txt = new Array ('Philosophie','Psychologie','Humour');
			break;
		}
		//creation des listes deroulantes avec le DOM
		var div = event.target.parentNode;
 
		var ld_Pattern = document.createElement('select');					
		ld_Pattern.id = "Pattern";
		ld_Pattern.onchange=function(){
			irm_liste_selection('neuro_irm_emplacements_cotes#'+event.target.value+'#sel_sides_'+i);
		};
		div.appendChild(ld_Pattern);
 
		var PatternOption = document.createElement('option');
 
		// option.value???
		ld_Pattern.appendChild(PatternOption);
 
		var TextNode=document.createTextNode('-----');
		PatternOption.appendChild(TextNode);
	}
}
J'aurais voulu insérer des options dans cette liste.

Les options seraient les valeurs de txt.

Je devrais donc les mettre ici :

Code :
1
2
3
var PatternOption = document.createElement('option');
 
		// option.value???
Je ne vois pas du tout comment le faire, auriez-vous une idée svp ?

Merci d'avance.

beegees
__________________
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2011, 13h40   #2
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
le petit bout de code html qui va avec serait bienvenu.
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2011, 13h41   #3
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 239
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 239
Points : 1 046
Points : 1 046
Citation:
Envoyé par jreaux62 Voir le message
Bonjour,
le petit bout de code html qui va avec serait bienvenu.
Bonjour,

Le voici :

Code :
1
2
3
4
5
 <select name="GFAP" onchange="Choix(event);">
            	<option value="-1">-----</option>
                <option value="1">Positif</option>
            	<option value="0">Negatif</option>
        	</select>
Merci pour ton aide.

beegees
__________________
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2011, 13h45   #4
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
+ expliquer plus clairement :
- ce que tu veux ajouter
- d'où proviendra la commande (onclick ? ...)
- d'où provient la value à ajouter ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2011, 13h47   #5
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 239
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 239
Points : 1 046
Points : 1 046
Citation:
Envoyé par jreaux62 Voir le message
+ expliquer plus clairement :
- ce que tu veux ajouter
- d'où proviendra la commande (onclick ? ...)
- d'où provient la value à ajouter ...
Re,

Merci pour ta réponse.

Si la liste de sélection qui appelle "Choix" est "GFAP", j'aimerais alors ajouter ces options :

Citation:
var txt = new Array ('Diffus','Focal');
Donc, les valeurs de txt.

De quelle commande onclick tu parles ?

beegees
__________________
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2011, 13h52   #6
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Citation:
Envoyé par beegees Voir le message
De quelle commande onclick tu parles ?
Oublie. Je n'avais pas bien lu ta demande : "... Les options seraient les valeurs de txt."

As-tu testé sur IE (8) ? -> ca ne fonctionne pas !

Le mieux serait de faire ca en jquery.
Je pense qu'il y a une discussion récente là-dessus. (à voir ...)
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2011, 14h40   #7
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Tiens ? tu as voté contre mon message ?
Dommage, moi qui recherchais la discussion en question ...
J'étais même prêt à t'écrire le code.

Tant pis. Ca ne donne plus vraiment envie de t'aider...
Bon dimanche.
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2011, 15h14   #8
Expert Confirmé Sénior
 
Avatar de Auteur
 
Inscription : avril 2004
Messages : 4 795
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 4 795
Points : 5 119
Points : 5 119
bonjour,

voici un exemple fonctionnel sous IE et FF (ça devrait le faire pour les autres navigateurs) :
Code javascript :
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
 
function addOptions()
{
	// Syntaxe :
	//new Option("Text","Value", "defaultSelected true / false", "selected true / false");
 
	var List = document.getElementById("idList");
	var elOption = new Array(
                    new Option("Choix 5", "Chx5", false, false),
                    new Option("Choix 6", "Chx6", false, false),
                    new Option("Choix 7", "Chx7", false, false)
                          );
 
	var i, n;
	n = elOption.length;
 
	for (i=0; i<n; i++)
	{
		List.options.add(elOption[i]);
	}
}
 
function selectedOption(List)
{
	var opt = List.options[List.selectedIndex];
	alert("valeur = " + opt.value + "\n" + "texte = " + opt.text);
}



Code html :
1
2
3
4
5
6
7
8
9
10
11
 
<input type="button" value="Ajouter les options" onclick="addOptions()" />
<br />
<br />
<select id="idList" name="GFAP" onchange="selectedOption(this)">
	<option value="" selected="selected">-- Faites votre choix --</option>
	<option value="Chx1">Choix 1</option>
	<option value="Chx2">Choix 2</option>
	<option value="Chx3">Choix 3</option>
	<option value="Chx4">Choix 4</option>
</select>


Le bouton permet d'ajouter dans la liste 3 options définies par l'objet Option (voir le code JS).
Lorsque tu sélectionnes une option une fonction est appelée sur l'événement onChange et la valeur et le texte de l'option sont affichés.


Petites remarques :
- j'ai ajouté un id au select ;
- je ne pense pas qu'il soit utile dans ton cas d'ajouter l'objet event en paramètre de ta fonction.
Auteur est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/08/2011, 15h20   #9
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 239
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 239
Points : 1 046
Points : 1 046
Salut Auteur,

Merci à toi pour ce code très clair.

Je l'utilise immédiatement.

Bon dimanche.

beegees
__________________
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h43.


 
 
 
 
Partenaires

Hébergement Web