Javascript函数用于附加包含输入字段和值的单元格的表

时间:2011-03-09 23:43:49

标签: javascript jquery html-table append

我创建了一个工作函数,它附加一个带有单元格/行的表,然后使用数组中的数据填充这些单元格。问题是现在我需要更改它,以便生成的单元格包含input字段,其中value=是数组数据。

以下是我能够到达的最近的例子:http://jsfiddle.net/JEAkX/3/

我曾尝试更改为cell.innerHTML = "<input type='text' size='1'>"+ subset[i++] +"</input>",但它只是将数据放在输入文本区域之外。

subset[i++]创建了正确的输出,但我似乎无法将其置于字段值中。

以下是之前的函数我为输入字段编辑了它:

function appendTable(id)
{
    var tbody = document.getElementById(id).getElementsByTagName("tbody")[0];
    var i = 0;
    for (var r = 0; r < 4; r++) {
        var row = tbody.insertRow(r);
        for (var c = 0; c < 4; c++) {
            var cell = row.insertCell(c);
            cell.appendChild(document.createTextNode(subset[i++]));
        }
    }
}

3 个答案:

答案 0 :(得分:1)

而不是:

cell.innerHTML = "<input type='text' size='1'>"+ subset[i++] +"</input>"

尝试这样做:

cell.innerHTML = "<input type='text' size='1' value='" + subset[i++] + "'/>"

使用输入的value属性,这样就可以了。

答案 1 :(得分:1)

您在正确的轨道上,您需要将文本添加到输入值,如:

cell.innerHTML = "<input type='text' size='1' value='" + subset[i++] + "' />";

并且您的子集需要填充一些值。

答案 2 :(得分:1)

使用此:

 value=''+subset[i++]

而不是

value='subset[i++]'

所以你的新功能应该是:

function appendTable(id)
{
    var tbody = document.getElementById(id).getElementsByTagName("tbody")[0];
    var i = 0;
    for (var r = 0; r < 4; r++) {
        var row = tbody.insertRow(r);
        for (var c = 0; c < 4; c++) {
            var cell = row.insertCell(c);
            cell.innerHTML = "<input type='text' size='1' value=''+subset[i++] />"
        }
    }
}