jQuery .each循环不循环,但是当你调试.log?

时间:2014-05-14 01:41:15

标签: javascript jquery json

有点困惑,我有一个.each函数,当我使用console.log时显示JSON的所有结果但是当我尝试使用.html()输出时它只显示一个?有什么理由吗?

代码:

$(document).ready(function(){
    $.get('functions/ListOrders.php', function(xml){ 
        var newOrders = $.xml2json(xml);
        $.each(newOrders.ListOrdersResult.Orders.Order, function(index, value) { 
            //console.log(value.AmazonOrderId);
            $('#orderAmount').html("<b>Order Total:</b><br>" + index + "<br><br>");
            $('#orderListing').html("<b>Order Listing:</b><br>" + value.AmazonOrderId);
        });
    });
});

由于

1 个答案:

答案 0 :(得分:1)

您只获得一个结果,因为在循环中您覆盖现有值。基本上你覆盖html值。如果您使用append,则会在每次循环迭代时为现有元素添加值。

$(document).ready(function(){
    $.get('functions/ListOrders.php', function(xml){ 
        var newOrders = $.xml2json(xml);
        $.each(newOrders.ListOrdersResult.Orders.Order, function(index, value) { 
            $('#orderAmount').append("<b>Order Total:</b><br>" + index + "<br><br>");
            $('#orderListing').append("<b>Order Listing:</b><br>" + value.AmazonOrderId);
        });
    });
});