javascript - 在 jQuery 中删除选中的复选框

标签 javascript jquery checkbox

我试图在 jQuery 中删除选中的复选框,但是当我想获取复选框的状态时,我收到错误消息。

jsfiddle

    <div class="control-group">

<label class="checkbox"><input value="0" type="checkbox">Message 0</label>
<label class="checkbox"><input value="1" type="checkbox">Message 1</label>
<label class="checkbox"><input value="2" type="checkbox">Message 2</label>
<label class="checkbox"><input value="3" type="checkbox">Message 3</label>
<label class="checkbox"><input value="4" type="checkbox">Message 4</label>
<label class="checkbox"><input value="5" type="checkbox">Message 5</label>
<label class="checkbox"><input value="6" type="checkbox">Message 6</label>
<label class="checkbox"><input value="7" type="checkbox">Message 7</label>
<label class="checkbox"><input value="8" type="checkbox">Message 8</label>

</div> 


 <button class="btn" type="button" id="deleteAcc">Delete</button>

我的 jQuery 代码是:

$("#deleteAcc").on("click",function(){      
    $(".control-group label.checkbox").each(function(){
        if (this.children(":first").is(':checked')) {
            this.remove();
        }
    }); 
});

最佳答案

您不需要each 方法。只需选择选中的输入并删除父项(包含复选框的标签元素):

$("#deleteAcc").on("click", function() {
  $(".checkbox input:checked").parent().remove();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="control-group">

  <label class="checkbox">
    <input value="0" type="checkbox">Message 0</label>
  <label class="checkbox">
    <input value="1" type="checkbox">Message 1</label>
  <label class="checkbox">
    <input value="2" type="checkbox">Message 2</label>
  <label class="checkbox">
    <input value="3" type="checkbox">Message 3</label>
  <label class="checkbox">
    <input value="4" type="checkbox">Message 4</label>
  <label class="checkbox">
    <input value="5" type="checkbox">Message 5</label>
  <label class="checkbox">
    <input value="6" type="checkbox">Message 6</label>
  <label class="checkbox">
    <input value="7" type="checkbox">Message 7</label>
  <label class="checkbox">
    <input value="8" type="checkbox">Message 8</label>

</div>


<button class="btn" type="button" id="deleteAcc">Delete</button>

关于javascript - 在 jQuery 中删除选中的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26730986/

相关文章:

javascript - 传单 javascript for 循环通过 geojson

javascript - onclick UL 标题改变?

javascript - Jquery 中的行总和

asp.net - 如何在 ASP.NET 表单上设置必需的复选框?

javascript - 获取行中的所有值

javascript - 使用 IDE (Node) 读取本地存储的 JSON 文件

javascript - 无法访问 Javascript 函数包装器内的函数?

javascript - 快速单击复选框时出错

qt - "Bind"两个 QML CheckBox 在一起,确保它们的状态始终相同

javascript - Angular 将文本下载为文件,在记事本中不显示换行符