Bonjour,

Mon titre n'est pas des plus explicites, je vais essayer d'être plus claire ici.
N'ayez pas peur de la longueur du topic, le problème est simple.

Je fais une requête en ajax avec la méthode ajax() de jquery. Elle me retourne un objet JSON (un recordset) que je manipule avant de l'insérer dans ma page.

Voici un peu de code (qui fonctionne) pour mieux me comprendre :

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
 
$.ajax({
		type: "POST",
		url: "../LOOKUP/DESTINATIONLOOKUP_JSON.asp",
		dataType: "application/x-www-form-urlencoded",
		data: "Action=getLookupMileageDestination&Value=" + anchor.value,
		async: true,
		success: function(msg) {
 
			// get the recordset object JSON
			var rs = eval(msg);
 
			  // get the data from the recordset
			  var str = ""
				for ( var count = 0 ; count < rs.RecordCount ; count++ ) {
			   str += "-"+rs.Records[count].Name+"<br />"
			   }
 
			  //insert in the html page
			  $("#LST").append(""+str);
 
			} 
		}
})
Ici je crée simplement un string en concaténant mes propriétés, ça marche bien. Par contre, pour aller plus loin, je voudrais mettre en forme mes propriétés en <select> comme le montre le code 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
18
19
20
21
22
23
24
25
26
27
 
$.ajax({
	type: "POST",
	url: "../LOOKUP/DESTINATIONLOOKUP_JSON.asp",
	dataType: "application/x-www-form-urlencoded",
	data: "Action=getLookupMileageDestination&Value=" + anchor.value,
	async: true,
	success: function(msg) {
 
		// create the recordset object
		var rs = eval(msg);
 
		if ( rs ) { 						// has a non-null value
		  // get the data from the record
		  var str = ""
		 str += "<select size=""10"" name=""SearchList"" id=""SearchList"" >";
		  for ( var count = 0 ; count < rs.RecordCount ; count++ ) {
				str += "<option value=""" +  rs.Records[count].ID + """>"
				str += rs.Records[count].Name
				str += "</option>"
		   }
		   str += "</select>";
 
		  $("#LST").append(""+str);
		  }  
	}
})
A ce moment, j'ai une erreur dans firebug:
missing ; before statement
str += "<select size=""10"" name="...event) == 13){destMileage(ActiveControlI...

Apparemment, je n'ai pas le droit de créer un string contenant des balises ? (j'ai essayé aussi en mettant simplement un div + id autour de mon premier exemple et j'obtiens la même erreur). Comment faire alors pour mettre en forme mon objet ?
Si je dois utiliser des fonctions spécifiques au DOM pour créer au fur et à mesure mon select, quelqu'un peut-il me donner un lien de ressources ?

Merci de votre aide !!