使用Javascript动态添加行

时间:2016-05-11 06:54:31

标签: javascript

这里我在用户单击“AddNewRow”按钮时动态地在表中添加行。 这是添加动态行的代码,

<script type="text/javascript">
        function addRow() {

            var table = document.getElementById("modaltable"); //Table ID
            var rowCount = table.rows.length;
            var row = table.insertRow(rowCount);
            var colCount = table.rows[1].cells.length;

            for (var i = 0; i < colCount; i++) {
                var newcell = row.insertCell(i);
                newcell.innerHTML = table.rows[1].cells[i].innerHTML;
                //alert(newcell.childNodes);
                switch (newcell.childNodes[0].type) {
                    case "Comment":
                        newcell.childNodes[i].value = "";
                        break;
                    case "DropDownList2":
                        newcell.childNodes[i].selectedIndex = 0;
                        break;
                    case "DropDownList1":
                        newcell.childNodes[i].selectedIndex = 0;
                        break;
                }
            }
        }
      </script>

用于添加行的按钮代码。 添加新行

当我点击“Addnewrow”按钮时,它会动态添加另一行。但是这里添加了行,但是行将第一行值作为默认值。但我不需要在另一行中选择第一行的值。上述代码中的任何错误。

2 个答案:

答案 0 :(得分:0)

由于此行

,重复了新的行值

newcell.innerHTML = table.rows[1].cells[i].innerHTML;

从现有行的单元格值复制新单元格值。

所以只需引用此行来更新新行的单元格值,就像这样

newcell.innerHTML = 'newVal'+(i+1);

Live Demo @ JSfiddle

答案 1 :(得分:0)

如果在新动态生成的行中不需要第一行选择的值,则需要替换以下代码:

newcell.innerHTML = table.rows[1].cells[i].innerHTML;

newcell.innerHTML = "";