J’ai une sortie JSON et je veux montrer chaque élément à l’intérieur de chaque
La sortie JSON ressemble à ceci:
var data = [ { "MachineID":"171914", "Cost":"13,642.41", "Currency":"PHP" }, { "MachineID":"172233", "Cost":"1,367.73", "Currency":"PHP" }, { "MachineID":"41116", "Cost":"2,608.20", "Currency":"PHP" }, { "MachineID":"178077", "Cost":"1,517.04", "Currency":"PHP"}, { "MachineID":"176430", "Cost":"20,876.72", "Currency":"PHP" } ]
Et mon code est le suivant:
$.each(data, function(i, obj) { $.each(obj, function(i, val) { $('li').append(obj.MachineID); }); });
Maintenant, le résultat montre comme ça:
Foo 1719141719141719141722331722331722411411411411411161780771780771764171730176430176430 Bar 171914171914171914172233172233172241141141141141116171777808017178077176430176430176430
J’ai peut-être oublié quelque chose sur l’appel jQuery.each
et je n’ai qu’à montrer un ID d’ordinateur par
Foo 171914 Bar 172233 Baz 41116 Qux 178077
etc..
Si ce sont des éléments li
existants, le meilleur moyen serait de les sélectionner, de les itérer et d’utiliser l’index de l’itération pour récupérer les données.
$('li').slice(0,data.length) .each(function(i,el){ $(this).append(data[i].MachineID); });
J’ai utilisé .slice()
sorte que s’il y a plus d’éléments li
que de données, il ne tentera pas d’accéder à des données inexistantes.
Démo: http://jsfiddle.net/MYC4J/
Si les éléments
n’existent pas encore, vous devrez les créer:
var ul = $('ul'); $.each(data,function(i,obj) { $('',{text:obj.MachineID}).appendTo(ul); });
Parce que vous passez en revue chaque object et chaque propriété que vous ajoutez pour chaque object trois fois le MashineId.
Vous avez seulement besoin de 1 $ .each-loop et ajoutez le MashineId à la droite.
Quelque chose comme ca:
$.each(data, function(index, value){ $("ul li:nth-child(" + (index+1) + ")").append(value.MashineId); });
nth-child () sélectionne le li (index basé sur 1) et ajoute le MashineId. C’est pour le cas que vos MashineIds sont simplement ajoutés à la prochaine li. Peut-être avez-vous besoin pour votre cas d’une autre logique pour trouver le bon li.