【问题标题】:How do I add a new row in a table when I click on a button using Javascript [duplicate]当我使用Javascript单击按钮时,如何在表格中添加新行[重复]
【发布时间】:2017-05-07 00:26:40
【问题描述】:

大家好,我的代码有问题。每当我单击添加产品时,我都想添加一个具有相同字段的新行。但是,当我运行代码并单击添加产品时,它不起作用。

这是 HTML:

<table class="table" id="concierge">
<th>Item Name</th>
<th>Item Code</th>
<th>Description</th>
<th>Quantity</th>
<th>Price</th>
<th>Image</th>
<tr>
<td><input type="text" name="itemname" id="itemname" style="border: none"/></td>
<td><input type="text" name="itemcode" id="itemcode" style="width:50%; border:none"/></td>
<td><input type="text" name="description" id="description" style="border:none;"/></td>
<td><input type="text" name="quantity" id="quantity" style="width:50%; border: none"/></td>
<td><input type="text" name="price" id="price" style="width:50%; border: none"/></td>
<td><input type="file" name="image" id="image" style="border:none"></td>
<td><input type="checkbox" name="check" placeholder="Delete"></td>
</tr>
</table>
<input type="button" name="add" value="Add Product" onclick="addRow(concierge)"/>
<input type="button" name="delete" value="Delete Product" onclick="deleteRow(concierge)"/>

以及我用于删除和添加的脚本:

function addRow(tableID) {

    var table = document.getElementById(tableID);

    var rowCount = table.rows.length;
    var row = table.insertRow(rowCount);

    var cell1 = row.insertCell(0);
    var element1 = document.createElement("input");
    element1.type = "text";
    element1.name="itemname";
    cell1.appendChild(element1);

    var cell2 = row.insertCell(1);
    var element2 = document.createElement("input");
    element2.type = "text";
    element2.name = "itemcode";
    cell3.appendChild(element2);

    var cell3 = row.insertCell(2);
    var element3 = document.createElement("input");
    element3.type = "text";
    element3.name = "description";
    cell3.appendChild(element3);

    var cell4 = row.insertCell(3);
    var element4 = document.createElement("input");
    element4.type = "text";
    element4.name = "quantity";
    cell4.appendChild(element4);

    var cell5 = row.insertCell(4);
    var element5 = document.createElement("input");
    element5.type = "text";
    element5.name = "price";
    cell5.appendChild(element5);

    var cell6 = row.insertCell(5);
    var element6 = document.createElement("input");
    element6.type = "file";
    element6.name = "image";
    cell6.appendChild(element6);

    var cell7 = row.insertCell(6);
    var element7 = document.createElement("input");
    element7.type = "checkbox";
    element7.name = "check";


}

function deleteRow(tableID) {
    try {
        var table = document.getElementById(tableID);
        var rowCount = table.rows.length;

        for(var i=0; i<rowCount; i++) {
            var row = table.rows[i];
            var chkbox = row.cells[0].childNodes[0];
            if(null != chkbox && true == chkbox.checked) {
                table.deleteRow(i);
                rowCount--;
                i--;
            }


        }
    }catch(e) {
        alert(e);
    }
}

提前感谢您的帮助

【问题讨论】:

    标签: javascript jquery html dom


    【解决方案1】:

    礼宾应该是“礼宾”

    将cell3改为cell2 for element2

    function addRow(tableID) {
    
        var table = document.getElementById(tableID);
    
        var rowCount = table.rows.length;
        var row = table.insertRow(rowCount);
    
        var cell1 = row.insertCell(0);
        var element1 = document.createElement("input");
        element1.type = "text";
        element1.name="itemname";
        cell1.appendChild(element1);
    
        var cell2 = row.insertCell(1);
        var element2 = document.createElement("input");
        element2.type = "text";
        element2.name = "itemcode";
        cell2.appendChild(element2);
    
        var cell3 = row.insertCell(2);
        var element3 = document.createElement("input");
        element3.type = "text";
        element3.name = "description";
        cell3.appendChild(element3);
    
        var cell4 = row.insertCell(3);
        var element4 = document.createElement("input");
        element4.type = "text";
        element4.name = "quantity";
        cell4.appendChild(element4);
    
        var cell5 = row.insertCell(4);
        var element5 = document.createElement("input");
        element5.type = "text";
        element5.name = "price";
        cell5.appendChild(element5);
    
        var cell6 = row.insertCell(5);
        var element6 = document.createElement("input");
        element6.type = "file";
        element6.name = "image";
        cell6.appendChild(element6);
    
        var cell7 = row.insertCell(6);
        var element7 = document.createElement("input");
        element7.type = "checkbox";
        element7.name = "check";
    
    
    }
    
    function deleteRow(tableID) {
        try {
            var table = document.getElementById(tableID);
            var rowCount = table.rows.length;
    
            for(var i=0; i<rowCount; i++) {
                var row = table.rows[i];
                var chkbox = row.cells[0].childNodes[0];
                if(null != chkbox && true == chkbox.checked) {
                    table.deleteRow(i);
                    rowCount--;
                    i--;
                }
    
    
            }
        }catch(e) {
            alert(e);
        }
    }
    <table class="table" id="concierge">
    <th>Item Name</th>
    <th>Item Code</th>
    <th>Description</th>
    <th>Quantity</th>
    <th>Price</th>
    <th>Image</th>
    <tr>
    <td><input type="text" name="itemname" id="itemname" style="border: none"/></td>
    <td><input type="text" name="itemcode" id="itemcode" style="width:50%; border:none"/></td>
    <td><input type="text" name="description" id="description" style="border:none;"/></td>
    <td><input type="text" name="quantity" id="quantity" style="width:50%; border: none"/></td>
    <td><input type="text" name="price" id="price" style="width:50%; border: none"/></td>
    <td><input type="file" name="image" id="image" style="border:none"></td>
    <td><input type="checkbox" name="check" placeholder="Delete"></td>
    </tr>
    </table>
    <input type="button" name="add" value="Add Product" onclick="addRow('concierge')"/>
    <input type="button" name="delete" value="Delete Product" onclick="deleteRow('concierge')"/>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-05
      • 2021-03-31
      • 2011-12-22
      • 1970-01-01
      • 1970-01-01
      • 2018-06-19
      • 1970-01-01
      相关资源
      最近更新 更多