我有
<div id="brand_name">
Audi
<span class="select_all">
Select all
</span>
</div><div class="models">
<label for="search_model_id_in_61"><input id="search_model_id_in_61" name="search[model_id_in][]" type="checkbox" value="61">100</label>
<label for="search_model_id_in_62"><input id="search_model_id_in_62" name="search[model_id_in][]" type="checkbox" value="62">80</label>
</div>
我试着像:
$(".select_all").click() {
var models = $(this).parent().next()
}
但是如何将addClass class =“checked”添加到所有标签
答案 0 :(得分:1)
$(".select_all").click() {
var models = $(this).parent().next()
models.find('label').addClass('checked');
}
但我不确定复选框是否应该在label
标记内。我认为它应该在它之前或之后。
答案 1 :(得分:1)
要在选中和取消选中的所有复选框之间切换,这样可以使用:
$(".select_all").click(function() {
var $select_all = $(this),
$chk = $select_all.parent().next().find('input[type="checkbox"]');
$select_all.toggleClass('active');
if( $select_all.hasClass('active') ) {
$chk.prop('checked', true);
} else {
$chk.prop('checked', false);
}
});
演示here
答案 2 :(得分:1)
models.children().addClass('checked');
或
models.children().toggleClass('checked');
用于班级转换。
如果你想检查它们:
models.children('input').attr('checked', true);