具有复杂JSON的动态html表

时间:2014-12-18 12:32:09

标签: jquery ajax

我有一个aspx页面,它调用ajax方法来返回包含States数组的JSON对象。

我想遍历数据并在表格中为每个条目创建

  • 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

1 个答案:

答案 0 :(得分:1)

在你的for循环中得到这个:

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函数添加到返回数组的字符串中。希望这是你想要的。