我正在尝试使用删除选中的复选框
$(".gone").removeAttr('checked');
如果您滚动到底部并单击 + Add new Line
它将附加另一个 <tr>
。我想做的是删除 <tr>
如果复选框被选中。因此,如果我选中多个复选框,它将删除所有 <tr>'s
那些被检查的。我究竟做错了什么?为什么上面的代码没有删除复选框?
这是我的实例:https://jsfiddle.net/nwqmvo36/17/
****更新****
尝试使用
$(document).on("click", "div.rem", function() {
$(this).closest("tr:checked").remove();
});
这也不起作用。我正在尝试不同的解决方案,我只是不明白我做错了什么。
最佳答案
您不需要使用事件委托(delegate)。例如,如果您想向 DOM 加载后附加的元素添加事件监听器,这将很有意义。在您的情况下,您可以向具有类 .gone
的元素添加事件监听器,然后找到所有选中的 checkboxes
并删除父 tr
。您可以使用以下代码:
$(".gone").on("click", function() {
$('.no-more-tables') // element container
.find(":checkbox:checked") // return checked checkbox(es)
.closest('tr') // return first parent tr
.remove(); // remove them
});
还有一个demo
引用文献
关于jquery - 使用 JQuery 删除选中的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39863750/