javascript - 单击按钮时如何删除表格中的一行?使用Javascript

标签 javascript html

带有表格和按钮的 HTML:

<div>
                <h1>Info</h1>
                <form>
                    <table id="t">
                        <tr>
                            <th></th>
                            <th>index</th>
                            <th>name</th>
                            <th>job</th>
                            <th>date</th>
                            <th>department</th>
                        </tr>
                        <tr>
                            <td><input type="checkbox"></td>
                            <td>1</td>
                            <td>Alex</td>
                            <td>Hacker</td>
                            <td>100000000000000000</td>
                            <td>2</td>
                        </tr>
                    </table>
                    <br/>
                    <input type="submit" value="delete" onclick="deleteRow()">
                </form>
        </div>

我想删除已建立复选框的行。单击按钮即可删除。

应该删除的 Javascript 函数:

function deleteRow() {
    let table = document.getElementById('t')
    let boxs = table.getElementsByTagName("input")
    for (i = 0; i < boxs.length; i++){
        if(boxs[i] == true) {
            table.deleteRow((boxs[i].parentNode.parentNode).rowIndex)
        }
    }
}

我调试了这段代码,数组的大小定义正确,但没有进入条件。

最佳答案

在您的代码中,您无需进行太多更改。 您需要像下面这样更改 if 语句。

来自

if(boxs[i] == true) {

}

if(boxs[i].checked == true) {

}

因为 box[i] 是对象。 所以如果你想获得检查状态,你需要调用 boxes[i].checked。这会给你真/假。

function deleteRow() {

    let table = document.getElementById('t')
    let boxs = table.getElementsByTagName("input")
    for (i = 0; i < boxs.length; i++){
        if(boxs[i].checked == true) {
         table.deleteRow((boxs[i].parentNode.parentNode).rowIndex)
        }
    }
   return false;
}
<div>
    <h1>Info</h1>
    <form onsubmit="return deleteRow()">
        <table id="t">
            <tr>
                <th></th>
                <th>index</th>
                <th>name</th>
                <th>job</th>
                <th>date</th>
                <th>department</th>
            </tr>
            <tr>
                <td><input type="checkbox"></td>
                <td>1</td>
                <td>Alex</td>
                <td>Hacker</td>
                <td>100000000000000000</td>
                <td>2</td>
            </tr>
        </table>
        <br/>
        <input type="submit" value="delete">
    </form>
</div>

关于javascript - 单击按钮时如何删除表格中的一行?使用Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49465634/

相关文章:

javascript - 在 ES5 中创建自定义元素 v1,而不是 ES6

javascript - 如何在运行 javascript 时允许网页更新?

html - 具有两列居中固定宽度容器的 CSS 布局;一列固定宽度,第二列延伸到页尾

html - 在shell脚本中创建html文件

javascript - 与 crossrider 侧面板插件通信

javascript - 接受点的 Jquery 验证插件字母数字方法

javascript 和 css 样式

javascript - 链接.click();在 Chrome 中工作时无法在 Internet Explorer 中工作

javascript - jquery滚动问题

javascript - 无法在动态添加的元素上显示 mCustomScrollBar