Bonjour,

Alors mon problème est "simple" et identifié.
J'ai une liste fixe, puis une qui se crée dynamiquement en fonction d'un fichier Json

donc je récupère le nom du fichier, grâce à la valeur sélectionné dans la liste.
Je vais choisir le fichier Json qui à le même nom que la valeur dans la liste.

Mon problème : Au debut il arrive bien a sélectionner le bon fichier. Quand je crée la liste dynamiquement par contre, je n'arrive pas a récupérer la valeur selectionner quand je fais un alert, cela marque "undefined".

Donc ma question : Peut t-on récupérer la valeur sélectionner dans une liste (<select>) qui à été crée dynamiquement ?

Merci

Voici les codes :

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
/* Variable pour vérifier si la selection 1/2/3 à était crée ou pas*/
var nombre_de_selecteur1 = $("#toto1");
var nombre_de_selecteur2 = $("#toto2");
var nombre_de_selecteur3 = $("#toto3");
 
if (nombre_de_selecteur1.length != 1){
	// On choisis le bon fichier en fonction de la selection de la liste
	fichier_selectionne = $("#selection_critere>option:selected").text();
 
	// On ouvre le fichier Json est on crée un tableau
	var fichier = $.getJSON(fichier_selectionne+".json",function(data){
		//--------------------
		// On crée la balise Select avec la function "ajout()" pour rechoisir une option dans la liste
		$("#precision_critere").append("<select id=toto1 onChange=\"ajout()\"  name=nom_du_select[]></select>");
		// On crée la premiere valeur qui est fixe
		$("#toto1").append("<option value="+nombre_de_ligne+">Selectionnez un critère</option>");
 
		//------------------------	
		$.each(data.object, function(nom){
 
			// En fonction de ce que le Json contient on crée les autres options
			$("#toto1").append("<option value="+nombre_de_ligne+" >"+nom.name+"</option>");
		}); 
	}); 
}
 
if (nombre_de_selecteur1.length == 1 && nombre_de_selecteur2.length != 1){
	fichier_selectionne = $("#toto1>option:selected").text();
	// On crée autant d'option que de critères dans le fichier text (c'est a dire de lignes)  
	nombre_de_ligne = 0; 
	alert(fichier);
	var fichier = $.getJSON(fichier_selectionne+".json",function(data){
		//--------------------
		$("#precision_critere").append("<select id=toto2 onChange=\"ajout()\" name=nom_du_select[]></select>");
		$("#toto2").append("<option value="+nombre_de_ligne+">Selectionnez un critère</option>");
 
		//------------------------	
		$.each(data.object, function(nombre_de_ligne,nom){
			$("#toto2").append("<option value="+nombre_de_ligne+">"+nom.name+"</option>");
		}); 
	}); 
}
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<select class="input-xlarge" id="selection_critere" onChange="ajout()" >
	<option>Selectionnez un critère</option>
	<option>systemique</option>
	<option>geographique</option>
</select>