2012-10-17 4 views
0

를 선택 HTML을 채우는하지jQuery를해서 getJSON은 내가 HTML <code><select></code>이 제대로

:이 코드를 실행하면, 방화범, 내가 AJAX 호출이 다음과 같은 JSON 성공하고 돌려 볼

$(document).ready(function() { 
    $.getJSON(
     "some/url/on/my/server", 
     function(data) { 
     var optionsHTML = ""; 
     var len = data.length; 
     for(var i = 0; i < len; i++) { 
      optionsHTML += '<option value="' + data[i] + '">' 
       + data[i] + '</option>'; 
     } 

     $('#attrib-type-sel').html(optionsHTML); 
    }); 
}); 

: 옵션

[ 
    { 
     "id":1, 
     "name":"Snoopy", 
     "tag":"SNOOPY", 
     "allowsAll":false 
    } 
] 

(단 1 레코드 만 반환).

그러나 UI로 돌아 가면이 코드가 실행될 때 내부 HTML이 [object Object] 인 1 개의 옵션이있는 <select>이 생성됩니다.

아무도 여기에서 무슨 일이 일어나고 있는지 알아볼 수 있습니까? 내 getJSON은 정상적으로 보이지만 결과에서 JSON을 추출하고이를 사용하여 선택 항목을 채우는 코드는 버그가 있습니다. 미리 감사드립니다!

답변

1

데이터 [i]가 개체이기 때문입니다. 어떤 모양인지 확인하려면 console.log(data[i])을 사용해보세요.

data[i].iddata[i].name이 당신이 찾고있는 것 같습니다.

0

data[i].id & data[i].name 옵션을 구성하려면 data[i].id & data[i].name이 필요합니다.

for(var i = 0; i < len; i++) { 
     optionsHTML += '<option value="' + data[i].id + '">' 
      + data[i].name + '</option>'; 
} 
관련 문제