使用jQuery加载json数据时遇到问题

时间:2015-06-25 04:22:38

标签: jquery json

我有一个文件data.json内容是

[
{"Images" : "images/car1.jpg", "Model" : "model x", "Name" : "car a1"},
{"Images" : "images/car2.jpg", "Model" : "model y", "Name" : "car b2"},
{"Images" : "images/car3.jpg", "Model" : "model z", "Name" : "car c3"}
] 

这是我的jQuery

$.getJSON("data.json", function (data) {
    var columns = header(data);


    for (var i = 0; i < data.length; i++) {
        var row$ = $('<tr/>');
              for (var colIndex = 0; colIndex < columns.length; colIndex++) {


        $.each(data, function () {
            data[i][columns[0]] = '<img src= "' + this.Images + '" width=240 height=160>';
        });

             var cellValue = data[i][columns[colIndex]];


            if (cellValue == null) { cellValue = ""; }               
            row$.append($('<td/>').html(cellValue));
        }
        $("#jsonTable").append(row$);
    }
});
function header(list) {
    var columnSet = [];
    var headerTr$ = $('<tr/>');

    for (var i = 0; i < list.length; i++) {
        var rowHash = list[i];
        for (var key in rowHash) {
            if ($.inArray(key, columnSet) == -1) {
                columnSet.push(key);
                headerTr$.append($('<th/>').html(key));
            }
        }
    }
    $("#jsonTable").append(headerTr$);

    return columnSet;
}

现在我的html表(id =“jsonTable”)Images列似乎正在加载错误的数据。我看到只有car1图像正在加载所有3行Images列...我没有看到car2和car3图像。

1 个答案:

答案 0 :(得分:0)

不需要此循环$.each。删除$.each

在没有$.each

的情况下尝试这样做
data[i][columns[0]] = '<img src= "' + data[i].Images+ '" width=240 height=160>';

JSFIDDLE