用于检查其他复选框

时间:2015-12-16 09:51:00

标签: javascript jquery html checkbox

我知道有很多问题,但我有一个不同的问题,我在另一个手风琴菜单中有一个手风琴菜单,每个标题上都有复选框,这里有一个简化的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);
});

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

试试这个:

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

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