Autor | Zpráva | ||
---|---|---|---|
Micruss Profil |
#1 · Zasláno: 23. 6. 2013, 13:14:27
Zdravím
mám JSON { "player1": { "id": "13", "nick": "test", "prava": "1", "online": "1371982898" }, "player2": { "id": "12", "nick": "admin", "prava": "1", "online": "1371982887" } } Přes $.ajax volám json <script> $.ajax({ url: "players.php", datatype: "json", success: function ( data ) { var obj = $.parseJSON(data); }</script> a potřeboval bych jak array -> Player1 pošlu do funkce a to samé s Player2, našel jsem různé návody s $.each nebo for(....) ale ty nějak neřeší můj problém, když bych chtěl jen vypsat dejme tomu nick a prava... např. <script>function info(player) { // player předá array(json) $('#nick').html(player.nick); $('#prava').html(player.prava); } </script> |
||
Radek9 Profil |
#2 · Zasláno: 23. 6. 2013, 13:32:57
Micruss:
1) Není to pole, ale prostý JS objekt. 2) Použij for…in cyklus. |
||
Micruss Profil |
#3 · Zasláno: 23. 6. 2013, 13:34:51
Tak objekt... díky zkusím a uvidíme co to udělá
|
||
juriad Profil |
#4 · Zasláno: 23. 6. 2013, 13:59:56
obj.each(function(indexHrace, hrac) { // toto se zavolá pro každého hráče info(hrac); }); Pokud nejde vždy přesně o dva hráče, ale obecně o skupinu hráčů (může jich být různý počet), změň JSON na: [ { "id": "13", "nick": "test", "prava": "1", "online": "1371982898" }, { "id": "12", "nick": "admin", "prava": "1", "online": "1371982887" } ] |
||
Micruss Profil |
#5 · Zasláno: 23. 6. 2013, 15:11:38
Mno dal jsem na radu $.each().. a vypadá to u mě asi takto
var obj = $.parseJSON(data); $.each(obj, function(key, value) { info(key, value); }); } function info(key, val) { $.each(val, function(i, item) { $('#nick-' + key).append(i + ' - ' + item + '<br>'); }); } Je to jenom stručný výpis např. id - 12... atd... ještě pak zkusím i tu druhou možnost co posílal juriad |
||
Časová prodleva: 12 let
|
0