2014-12-18 2 views
3

저는 aspx 페이지를 가지고 있는데, 이는 ajax 메소드를 호출하여 국가 배열을 포함하는 JSON 객체를 반환합니다.복잡한 JSON이 포함 된 동적 HTML 테이블

데이터를 순환하여 각 항목에 대해

  • COUNTRY
을 작성하고 싶습니다.

내가 볼 수 있듯이 내 코드는 좋아 보이지만 내 div에 작성된 결과가 없습니다.

필자는 데이터로 피들을 설정했으며 도움을 주셔서 감사합니다.

http://jsfiddle.net/L3s6c0yx/1/

이곳은 JS 코드

var tdata = "{"d": "[{\"Countries\":[\"Cyprus: 3\",\"Panama: 3\"]},{\"Countries\":[\"Malaysia:  1\",\"Malaysia: 2\"]},{\"Countries\":[\"Tanzania: 3\"]}]"}"; 

$.ajax({ 
type: "POST", 
url: "", 
data: tdata, 
dataType: "json", 
contentType: "application/json; charset=utf-8", 
success: function (result) { 
    tdata = jQuery.parseJSON(result.d); 

    var response = '', 
     indicator = ''; 
    for (var i = 0; i < tdata.length; i++) { 
     response += '<div class="item">' + 

      '<table style="height: 300px;">' + 
      '<tbody>' + 
      '<tr>' + 
      '<td><label>Countries</label></td>' + 
      '<td><ul>' + $.each(tdata[i]['Countries'], function (value) { 
      response += '<li>' + value + '</li>'; 
     }); 
     response += '</ul></td></tr>' + 
      '</div>'; 
    } 
    $('#countries').append(response); 
} 
}); 

Image showing the UL

+0

콘솔에 오류가 있습니까? alert (응답)을 입력하고 $ ('# countries'). 길이가 0.인지 확인하십시오. alert (result.d); –

+0

바이올린 경고 (result.d)와 동일; 정의되지 않았습니다 –

+0

나는 국가 출력을 얻지 만, 리가 만들어지지 않습니다. 렌더링 된 화면을 추가했습니다. – CSharpNewBee

답변

1

에게 있습니다 안에이 얻을 귀하의 루프 :

for (var i = 0; i < tdata.length; i++) { 
    response += '<div class="item">' + 

    '<table class="table table-user-information" style="height: 300px;">' + 
    '<tbody>' + 
    '<tr>' + 
    '<td><label>Countries</label></td>' + 
    '<td><ul>'; 

    $.each(tdata[i]['Countries'], function (index, value) { 
     response += '<li>' + value + '</li>'; 
    }); 

    response += '</ul></td></tr>' + '</div>'; 
} 

http://jsfiddle.net/L3s6c0yx/6/

$ .each 함수를 배열을 반환하는 문자열에 추가하고 있습니다. 희망이 당신이 찾고있는 것입니다.

+0

완벽한 Zanuff - 지금 내 방식대로 오류가 표시됩니다. 많은 감사 – CSharpNewBee