每次动态添加行没有删除现有的reocds不起作用只创建了一个新行。我试着创建新的3行。请释放我。
<TABLE id="dataTable" width="350px" border="1">
</TABLE>
function addRow(tableID)
{
var table = document.getElementById(tableID);
deleteRow(tableID);
for(i=0;i<3;i++)
{
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell0 = row.insertCell(i);
var element0 = document.createElement("input");
element0.type = "text";
element0.name = "txtbox[]";
cell0.appendChild(element0);
var cell1 = row.insertCell(i+1);
var element1 = document.createElement("input");
element1.type = "text";
element1.name = "txtbox[]";
element1.value = tableID+"_"+rowCount+"_newschedule";
cell1.appendChild(element1);
}
}
function deleteRow(tableID) {
try
{
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for(i =(rowCount-1);i>=0;i--)
{
table.deleteRow(i);
}
}
catch(e)
{
}
}
答案 0 :(得分:1)
试试这个
function addRow(tableID) {
var table = document.getElementById(tableID);
deleteRow(tableID);
for (i = 0; i < 3; i++) {
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell0 = row.insertCell(0);
var element0 = document.createElement("input");
element0.type = "text";
element0.name = "txtbox[]";
cell0.appendChild(element0);
var cell1 = row.insertCell(1);
var element1 = document.createElement("input");
element1.type = "text";
element1.name = "txtbox[]";
element1.value = tableID + "_" + rowCount + "_newschedule";
cell1.appendChild(element1);
}
}
这两行错了
var cell0 = row.insertCell(i);
var cell1 = row.insertCell(i+1);
因为insertCell(i)将要添加到行(TR)中的单元格(TD)的索引,但是在第一次迭代之后,i
变为1,然后您尝试在索引1处插入单元格将单元格插入0然后就会出现索引错误。