【问题标题】:checkbox that checks other checkboxes检查其他复选框的复选框
【发布时间】:2015-12-16 09:51:00
【问题描述】:

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

简化的代码(没有在我的问题中无用的手风琴):

<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);
});

【问题讨论】:

  • 您看到的问题是什么?在这里它工作正常,单击Select All 会检查除.btn 之外的所有复选框?你到底想达到什么目标?
  • 手风琴在哪里?手风琴里面的哪个复选框??
  • 这正是问题所在:我希望Select All 也检查复选框列表的复选框!而且这里没有手风琴,我只是解释了上下文但是不需要看手风琴代码

标签: javascript jquery html checkbox


【解决方案1】:

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

$('#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);
});

【讨论】:

  • 正是我想要的,谢谢,我想保留类选择器,并试图通过Import all positions复选框检查.btn
【解决方案2】:

试试这个:

$('#selectAll').on('click', function() {  
      var check_status = this.checked;

      if (check_status == true) {
          $(".btn").prop("checked", true);
      } else {
          $(".btn").prop("checked", false);
      }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多