我创建了一个工作函数,它附加一个带有单元格/行的表,然后使用数组中的数据填充这些单元格。问题是现在我需要更改它,以便生成的单元格包含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++]));
}
}
}
答案 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++] />"
}
}
}