dissortingbuer la sortie du tableau JSON à chaque

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

  • , le résultat devrait ressembler à ceci:

         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); });
  • Démo: http://jsfiddle.net/MYC4J/1/

    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.