复选框,用于选中其他复选框

checkbox that checks other checkboxes

本文关键字:复选框 其他 用于      更新时间:2023-09-26

我知道有很多问题,但我有一个不同的问题,我在另一个手风琴菜单中有一个手风琴,每个标题上都有复选框,这是一个简化的小提琴,问题很明显:我希望最后一个复选框选中所有其他的,包括手风琴中的

简化代码(没有手风琴,这在我的问题上是无用的):

<form>
  <label><input type="checkbox" class="btn1" checked />importTitle</label>
  <label><input type="checkbox" id="selectall" class="btn1"/> Import all 
positions</label>
  <div id="checkboxlist">
    <label><input type="checkbox" class="btn" checked/>Import a</label><br />
    <label><input type="checkbox" class="btn" checked/>Import b</label><br />
    <label><input type="checkbox" class="btn" checked/>Import c</label><br />
    <label><input type="checkbox" class="btn" checked/>Import d</label><br />
  </div>
  <label><input type="checkbox" class="btn1" checked /> Import Link</label>
  <label><input type="checkbox" class="btn1" id="selectAll"/>Import everything</label>
</form>

和js:

$('#selectall').click(function() {
  $(this.form.elements).filter('.btn').prop('checked', this.checked);
});
$('#selectAll').click(function() {
  $(this.form.elements).filter('.btn1').prop('checked', this.checked);
});

您可以过滤所有复选框,而不是使用基于类的过滤器,因此

$('#selectAll').click(function() {
  $(this.form.elements).filter(':checkbox').prop('checked', this.checked);
});

或者,如果您仍然想使用类选择器,请像一样传递两个类

$('#selectAll').click(function() {
  $(this.form.elements).filter('.btn, .btn1').prop('checked', this.checked);
});

试试这个:

$('#selectAll').on('click', function() {  
      var check_status = this.checked;
      if (check_status == true) {
          $(".btn").prop("checked", true);
      } else {
          $(".btn").prop("checked", false);
      }
});