使用javascript删除html表中的行数

时间:2013-02-21 12:46:30

标签: javascript html

每次动态添加行没有删除现有的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)
             {                    
             }
        }

1 个答案:

答案 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然后就会出现索引错误。