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 :
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 $.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"); } } });
Pourtant c'est le même objet json que j'ai juste sauvegardé et rappelé. Pourquoi le second code ne marche pas ?
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"); } } });
Et firebug me montre ceci :
l'attribut se créé bien mais comporte un tableau bizarre [object Object]
Code : Sélectionner tout - Visualiser dans une fenêtre à part <select id="elt" data-items="[object Object]">
Qu'est-ce qui ne va pas ?
Merci d'avance...
Partager