2012-03-26 3 views
0

Jquery와 Javascript를 사용하여 $ ajax에서 JSON을 추출한 다음 foreach를 수행하고 html DOM에 추가 할 문자열을 만드시겠습니까?Jquery를 사용하여 JSON에서 여러 HTML 요소를 생성 하시겠습니까?

뭔가 같은 :

$(document).ready(function (e) { 

$.ajax({ 
    type: "POST", 
    url: "Companies/GetSearchRatios", 
    context: this, 
    success: function (data) { 
     //return JSON 
    } 
}); 

결과 JSON

[{"name":"MyNAme","value":350},{"name":"Hello","value":356}] 

내가 쉽게 $ 아약스 방법 성공 내부에이 값을 액세서 수 있지만, 어떻게 방법의 외부에서이 값을 추출하여 추가하는 데 사용할 수 있습니다 DOM에? 마지막으로

var $gElem = 
    '<div class="cbox cboxQuarterWidth">' + 
     '<select id="combobox_0">' + 
       $gElemRatios + // here I add previous generated elem 
     '</select>' + 
    '</div>'; 

그리고 :

$("#main").append($gElem); 

var $gElemRatios = 
    '<option value=""></option>' + 
    '<option value="350">MyNAme</option>' + 
    '<option value="356">Hello</option>'; 

가 그럼 난 또 다른 결합이 VAR를 사용

내가/foreach는 방법에 대한 몇 가지의 결과로 필요하다

아이디어가 있으십니까?

답변

3

당신은 성공 핸들러에 전달 된 데이터를 통해 루프 $.each를 사용할 수 있습니다

$.ajax({ 
    type: "POST", 
    url: "Companies/GetSearchRatios", 
    context: this, 
    success: function (data) { 
     $.each(data,function(){ 
      console.log(this.name); //just an example how to access things 
      $('#select').text(this.value); //maybe? 
     }); 
    } 
}); 

참조이 fiddle

+0

좋아, 좋은, 내가 문제의 쇼와 같은 문자열을 생성하고이를 얻을 수있는 방법 바 외부의 성공 방법? –

+0

이 문자열이 var, global로 필요합니다. 다른 것들 때문에 DOM에 데이터를 직접 추가 할 수 없습니다. –

+0

@Ingol은 필요한 범위에 배열이나 개체를 만들어 데이터를 저장하는 데 사용합니다. – m90

관련 문제