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