Bonjour à tous,
Pour un besoin, je souhaite stocker un retour json ajax dans un attribut data-*. J'ai donc ce code qui marche parfaitement pour signifier que le retour est bon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
$.ajax({
	//***
	dataType: 'json',
	success: function(data){
		var items = data.obj
		for(var i in items){
			$("<option/>",{value: items[i].id, html: items[i].name}).appendTo("#elt");
		}
	}
});
Je souhaite maintenant sauvegarder mon objet dans un dataset :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
$.ajax({
	//***
	dataType: 'json',
	success: function(data){
		$("#elt").data("items",data.obj);
		// or $("#elt").attr("data-items",data.obj);
		var items = $("#elt").data("items");
		// or var items = $("#elt").attr("data-items");
		for(var i in items){
			$("<option/>",{value: items[i].id, html: items[i].name}).appendTo("#elt");
		}
	}
});
Pourtant c'est le même objet json que j'ai juste sauvegardé et rappelé. Pourquoi le second code ne marche pas ?

Et firebug me montre ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<select id="elt" data-items="[object Object]">
l'attribut se créé bien mais comporte un tableau bizarre [object Object]

Qu'est-ce qui ne va pas ?

Merci d'avance...