2016-03-23 15 views
0

Ich versuche, eine Tabelle mit Daten von JSON zu erhalten. Mein Code sieht wie folgt aus:An Tabelle von JSON anhängen

var KrediteArray = $.parseJSON(data); 
$.each(KrediteArray, function(index, item) { 
    $('#UserKreditsTableBody').append($('<tr id="UserKreditsTr'+index+'">')); 
    $.each(item, function(key, value) { 
     $('#UserKreditsTr' + index).append($('<td>', { 
      text: value 
     })); 
    });  
}); 

KreditArray wie folgt aussieht:

{ 
    "1": { 
     "Admin":"Luke", 
     "Kapital":"100.000" 
    }, 
    "2": { 
     "Admin":"Capto", 
     "Kapital":"100.000" 
    } 
} 

My Table HTML-Code wie folgt aussieht:

<table id="UserKreditsTable"> 
    <thead> 
    <tr> 
     <td>Name<td> 
     <td>Betrag<td> 
    </tr> 
    </thead> 
    <tbody id="UserKreditsTableBody"> 
    </tbody> 
</table> 

Mein Problem ist, dass in der Tabelle I 2 haben Spalten im Moment (ich werde bald mehr hinzufügen, zusammen mit den Daten aus dem JSON). Das Skript fügt nur einen <td> an die Zeile an, also habe ich eine Zelle, die alle Informationen enthält.

Könnten Sie mir bitte einen Tipp geben?

Edit: Haben Sie einen Blick auf das Bild http://666kb.com/i/d7gm1yh2pq13caeqm.jpg

+2

Was genau ist das Problem? Der Code scheint gut zu funktionieren: https://jsfiddle.net/kd7d16/de/ –

+0

Ein Bild könnte hilfreich sein: http://666kb.com/i/d7gm1yh2pq13caeqm.jpg | @RoryMcCrossan Jetzt bin ich absolut verwirrt, ich verstehe es nicht, warum es nicht funktioniert auf meinem Webspace - aber danke für Sie Hilfe – LuckyLuke

+0

Als ein Hinweis, es ist einfacher und sauberer, JavaScript-Tabellenerstellungsfunktionen wie row = table.insertRow (0) zu verwenden, dann cell1 = row.insertCell (0), cell2 = row.insertCell (1) –

Antwort

0

Versuchen Sie eine andere each() auf key nisten und dann jeden Wert in einen <td> Element anhängen. Code sollte wahrscheinlich so aussehen:

var KrediteArray = $.parseJSON(data); 
$.each(KrediteArray, function(index, item) { 
    $('#UserKreditsTableBody').append($('<tr id="UserKreditsTr'+index+'">')); 
    $.each(item, function(key, value) { 
     $.each(item, function(key, value) { 
       $('#UserKreditsTr' + index).append($('<td>', { 
       text: value 
       })); 
     }); 
    });  
});