2011-07-08 12 views
1

J'ai ce code:doute avec réponse JSON

$.getJSON('../encomendasanexos.php?campo=idencomendas&nome=imagem&id='+id_int, 
    function(registro){ 
     var imghtml = []; 
     imghtml = '<img src="icones/editar.png" 
      onclick="window.open(\'editImagem.php? 
      tabela=anexos&id='+registro.id+'&ordem='+registro.i+'\', \'_blank\', \'width=750,height=550,scrollbars=no,status=yes\');" />'; 
     $this.parent().find("#conteudoanexo").html(imghtml,join('')); 
}); 

Et le JSON retourné:

[{"id":"400","img":"..\/imagens\/encomendas\/aspire_1309790504.jpg"}, 
{"id":"401","img":"..\/imagens\/encomendas\/casa_1309790507.jpg"}, 
{"id":"402","img":null}] 

Je veux faire une boucle avec des valeurs reçues par JSON, où +registro.id+ est id et +registro.i+ est une clé au 1er niveau du tableau json.

+1

Veuillez utiliser le formatage du code source lors de la publication afin que les gens puissent comprendre votre code. –

Répondre

1
$.getJSON('../encomendasanexos.php?campo=idencomendas&nome=imagem&id='+id_int, 
    function(registro){ 
     var container = $this.parent().find("#conteudoanexo").empty(); 
     $.each(registro, function(idx, item){ 
      var img = $('<img>', { 
           'src' : 'http://www.usedprice.com/images/button_edit_grey.gif', 
           'class': 'imagelink w16' 
       }); 
      img.click(function(){ 
       window.open('editImagem.php?tabela=anexos&id='+item.id+'&ordem='+item.i, '_blank', 'width=750,height=550,scrollbars=no,status=yes'); 
      }); 
      container.append(img); 
     }); 
    }); 

démo à http://jsfiddle.net/gaby/GCzxS/1/

+0

J'ai oublié un détail, je dois ajouter la classe d'image imagelink w16, comment puis-je faire cela? – Fernando

+0

@Fernando, en plus de 'src' vous pouvez définir toutes sortes d'attributs avec cette syntaxe (* séparés par un', '*) .. Mise à jour de la réponse et jsfiddle pour refléter cela. –

+0

Merci. Tu m'aides beaucoup. – Fernando

0

Vous devriez faire:

$.getJSON('../encomendasanexos.php?campo=idencomendas&nome=imagem&id='+id_int, 
    function(registros){ 
     var imghtml = []; 
     for(var i=0; i<registros.length; i++){ 
      var registro = registros[i]; 
      imghtml.push('<img src="icones/editar.png" 
      onclick="window.open(\'editImagem.php? 
      tabela=anexos&id='+registro.id+'&ordem='+i+'\', \'_blank\', \'width=750,height=550,scrollbars=no,status=yes\');" />');  
     } 

     $this.parent().find("#conteudoanexo").html(imghtml,join('')); 
}); 

Hope this helps. Salutations