我有这个:
<div id="container1">
<div class="block1">
<input class="pos2" type="checkbox" /><label>Category1</label><br>
<input class="pos3" type="checkbox" /><label>Subcategory1</label><br>
<input class="pos3" type="checkbox" /><label>Subcategory1</label>
</div>
<div class="block1">
<input class="pos2" type="checkbox" /><label>Category2</label><br>
<input class="pos3" type="checkbox" /><label>Subcategory2</label>
<input class="pos3" type="checkbox" /><label>Subcategory2</label>
</div>
</container>
我正在尝试使用jquery来自动检查复选框。 例如:如果我检查'pos2',它会自动检查pos3。
我用过这个:
$("#container1 .block1 .pos2").click(function(){
$(".block1").children(".pos3").attr('checked', 'checked');
});
但我需要它只检查我点击的div中的'pos3'。
注意:复选框是使用PHP从数据库中生成的。他们的数字可能会有所不同,因此我不能在元素上使用id。
有人可以帮我吗?
提前致谢!
答案 0 :(得分:1)
试试这个:
$(".pos2").click(function(){
$(this).siblings(".pos3").attr('checked', 'checked');
});
答案 1 :(得分:1)
$("#container1 .block1 .pos2").on('change', function(){
$(this).siblings('.pos3').prop('checked', this.checked);
});
答案 2 :(得分:0)
此代码应该有效:
$("#container1 .block1 .pos2").click(function(){
$(this).parent().find('.pos3').attr('checked', 'checked');
});
处理函数this
中的指向单击的对象。 .parent
将获取该复选框的父级,并且查找将仅在父级div中搜索.pos3
(如$(".block1 .pos3")
)
答案 3 :(得分:0)
尝试以下
$("#container1 .block1 .pos2").click(function(){
$(this).parents("div.block1:first")
.children(".pos3").attr('checked', 'checked');
});
答案 4 :(得分:0)
$("#container1 .block1 .pos2").click(function(){
$(this).siblings(".pos3").attr('checked', 'checked');
});