使用javascript在表格单元格中插入数组值

时间:2014-04-29 10:56:48

标签: javascript

我需要在表格中插入一些值。所有值都包含在Ajax / php请求的返回数组中,如下所示:

var data = [];

//Consider that the number of the object (in this case only 3) obtained from the server are equal to the number of rows in tbody (6 rows in tbody = 6 object from server).

data[0] = {From: '01/01/2012', To: '01/01/2013', Interest: 80.00, Residual: 0, Capital: 1000.00, Days: 366};
data[1] = {From: '01/01/2013', To: '01/01/2014', Interest: 85.00, Residual: 0, Capital: 980.00, Days: 365};
data[2] = {From: '01/01/2014', To: '29/04/2014', Interest: 20.00, Residual: 75.00, Capital: 980.00, Days: 118};

解释如何将值插入表中有点棘手,所以我创建了一个小提琴,我想得到的结果。 我不指望你给我最后的结果(当然,欢迎:)),但至少有一些想法从哪开始。

FIDDLE

**修改

我已将id分配给单元格,现在所有值都已插入。这是更新的小提琴,您认为代码可以更优雅地编写吗?

UPDATE FIDDLE

1 个答案:

答案 0 :(得分:1)

我可以看到从ajax / php请求返回的数据是JSON格式。因此,要将它们插入HTML表格,您可以使用JQuery

示例(如您提供的样本数据):

function buildDataTableHtml(data){
    var tableHtml = "<table><tr>";
    tableHtml += "<th>From</th>";
    tableHtml += "<th>To</th>";
    tableHtml += "<th>Interest</th>";
    tableHtml += "<th>Residual</th>";
    tableHtml += "<th>Capital</th>";
    tableHtml += "<th>Days</th>";
    tableHtml += "</tr>";

    $.each(data, function(i, v){
        tableHtml += "<tr>";
        tableHtml += "<td>" + v.From + "</td>";
        tableHtml += "<td>" + v.To + "</td>";
        tableHtml += "<td>" + v.Interest + "</td>";
        tableHtml += "<td>" + v.Residual + "</td>";
        tableHtml += "<td>" + v.Capital + "</td>";
        tableHtml += "<td>" + v.Days + "</td>";
        tableHtml += "</tr>";
    });
    tableHtml += "</table>";

    return tableHtml;
}

如果您使用此JavaScript函数(以及JQuery),则此函数将返回您想要的表的HTML。希望这对你有所帮助

注意:我只是在答案框中写下来,没有尝试确保这是有效的。但希望代码能够运行。 :)