2014-05-14 2 views
0

조금 혼란 스러워요. console.log를 사용할 때 JSON의 모든 결과를 표시하는 .each 함수가 있지만 .html()을 사용하여 출력하려고하면 하나만 표시됩니다. 왜 어떤 이유?jQuery. 각 루프가 루핑되지 않지만 console.log 때합니까?

코드 :

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

감사

+5

매번 단일 요소의 내용을 덮어 쓰고 있습니다. – hobbs

+0

Hobbs가 정확합니다. – silver

+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); 
     }); 
    }); 
}); 
+1

+1,하지만 왜 그에게 결과가 단지 –

+0

@ php-dev에 있는지에 대한 설명을 추가하십시오. 좋은 지적. 고맙습니다. +1 –

관련 문제