检查了jquery复选框

时间:2012-12-07 10:31:43

标签: jquery checkbox

我有这个:

<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。

有人可以帮我吗?

提前致谢!

5 个答案:

答案 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');
});