【问题标题】:Doubt with json response怀疑json响应
【发布时间】:2011-10-01 16:21:54
【问题描述】:

我有这个代码:

$.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('')); 
});

以及返回的json:

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

我想用 json 接收的值做一个 for 循环,其中+registro.id+ 是 id,+registro.i+ 是第一个 json 数组级别的键。

【问题讨论】:

  • 发帖时请使用源代码格式,以便人们理解您的代码。

标签: jquery arrays json variables multidimensional-array


【解决方案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);
        }); 
    });

http://jsfiddle.net/gaby/GCzxS/1/ 上的演示

【讨论】:

  • 我忘记了一个细节,我需要添加图像类imagelink w16,我该怎么做?
  • @Fernando,除了src,您还可以使用该语法设置各种属性(, 分隔).. 更新了答案和 jsfiddle 以反映这一点。
  • 谢谢。你帮了我很多。
【解决方案2】:

你应该这样做:

$.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('')); 
});

希望这会有所帮助。干杯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-18
    • 2018-10-04
    • 2017-10-01
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多