javascript - 动态行和表

标签 javascript html dynamic

我正在尝试实现一个动态表格,但是当按下按钮添加行时,该行被添加,但输入文本框未插入到两个单元格中。知道如何解决这个问题。

<html>
<body>
    <input type="button" value="Add Row" onclick="addRow('dataTable')" />
    <table id="dataTable" width="150px" border="1">
        <tr>
            <td height="27">
                1
            </td>
            <td>
                <input type="text" />
            </td>
            <td>
                <input type="text" />
            </td>
        </tr>
    </table>
</body>
</html>
<script type="text/javascript">
        function addRow(tableID) {
            var table = document.getElementById(tableID);
            var rowCount = table.rows.length;
            var row = table.insertRow(rowCount);
            var firstCell = row.insertCell(0);
            firstCell.innerHTML = rowCount + 1;
            var secondCell = row.insertCell(1);
            var thirdCell = row.insertCell(2);
            var element = document.createElement("input");
            element.type = "text";
            element.name = "txtbox[]";
            secondCell.appendChild(element);

        }
    </script>

最佳答案

您需要添加另一个“输入”元素并将其附加到第三个单元格中。

尝试将 javascript 函数的最后一位更改为:

var element1 = document.createElement("input");
element1.type = "text";
element1.name = "txtbox1[]";

var element2 = document.createElement("input");
element2.type = "text";
element2.name = "txtbox2[]";

secondCell.appendChild(element1);
thirdCell.appendChild(element2);

Shown here

注意:您的script标签应该位于html的body内部。

最终代码如下:

<html>
<body>
    <input type="button" value="Add Row" onclick="addRow('dataTable')" />
    <table id="dataTable" width="150px" border="1">
        <tr>
            <td height="27">
                1
            </td>
            <td>
                <input type="text" />
            </td>
            <td>
                <input type="text" />
            </td>
        </tr>
    </table>
    <script type="text/javascript">
        function addRow(tableID) {
            var table = document.getElementById(tableID);
            var rowCount = table.rows.length;
            var row = table.insertRow(rowCount);
            var firstCell = row.insertCell(0);
            firstCell.innerHTML = rowCount + 1;
            var secondCell = row.insertCell(1);
            var thirdCell = row.insertCell(2);

            var element1 = document.createElement("input");
            element1.type = "text";
            element1.name = "txtbox1[]";

            var element2 = document.createElement("input");
            element2.type = "text";
            element2.name = "txtbox2[]";

            secondCell.appendChild(element1);
            thirdCell.appendChild(element2);
        }
    </script>
</body>
</html>

关于javascript - 动态行和表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20819437/

相关文章:

jquery - ASP.NET C# 中嵌套在 DIV 元素中的 href

c# - JSON 到动态对象与强类型对象

javascript - 使用 javascript 将 HTML5 WebSQL 数据库的内容附加到电子邮件

javascript - BreezeJS 和 RequireJS 没有按预期工作

javascript - Webpack 构建 React.createClass 不是一个函数

javascript - Angularjs - 动态 ng-options

C++ 二维动态数组崩溃

javascript - Weakmap 引用在继承中丢失

用于表格的 Html 非直线边框衬里

HTML/CSS 布局 float ?