2013-10-21 3 views
-1

jQuery.each()에 문제가 있습니다. 다른 PHP 파일에서 json 데이터를 검색 한 다음 특정 키를 인쇄하려고합니다. 선택한 옵션 중 하나jQuery .each()는 json의 마지막 값만 인쇄합니다.

<div class="row" id="fetchmember"> 
    <script type="text/javascript"> 

    jQuery('#group').change(function() { 
    var id_group = this.value; 
    var memberjson = "fetchmember.php?group="+id_group; 

    jQuery.getJSON(memberjson,function(data){ 
     jQuery.each(data, function(i, item) { 

     jQuery("#fetchmember").empty().append("<li>"+item.name+"</li>"); 

     });     
    }); 
}); 

</script> 
</div> 

JSON 결과 : 여기

은 JS입니다

[{"id":"1645819602","name":"Michael Great","first_name":"Michael","last_name":"Great"}, 
{"id":"100000251643877","name":"George Pambudi","first_name":"George","last_name":"Pambudi"}] 

내가 JSON에서 name을 모두 인쇄 할, 그러나 그것은 단지 마지막 name 키를 인쇄 json의 .html()을 사용하려고 시도했으며 마지막으로 name 키만 반환합니다. 내 코드에 무슨 문제가 있습니까?

모든 조언과 도움을 주시면 대단히 감사하겠습니다. 대단히 감사합니다.

+1

'.' 제거하는 방법은 무엇입니까?)'''? –

답변

4

마지막 데이터 만 보관하고 싶지 않은 경우 루프에서 데이터를 비우지 마십시오. 당신이 원하는 경우에 당신이 한 APPEND을 할 수

jQuery("#fetchmember").empty(); 
jQuery.each(data, function(i, item) { 
    jQuery("#fetchmember").append("<li>"+item.name+"</li>"); 
}); 

주에 콜백을 변경합니다

jQuery("#fetchmember").html(data.map(function(item){ 
    return '<li>'+item.name+'</li>' 
}).join('')); 
+0

고마워요. 그게 전부입니다. :) –

5

을 먼저 사업부를 비우는 후 추가됩니다

jQuery("#fetchmember").empty().append("<li>"+item.name+"</li>"); 

는 대신에 단지 사용

jQuery("#fetchmember").append("<li>"+item.name+"</li>"); 
관련 문제