检查所有子复选框并取消选中

时间:2010-10-27 13:45:30

标签: jquery checkbox

如何使用父复选框来检查和取消选中所有子复选框。

E.g。

Checkbox ID               = 1
Child Checkbox ID         = 1-1
Child Checkbox ID             = 1-2
Grand-child Checkbox ID       = 1-2-1
Grand-child Checkbox ID       = 1-2-2

我到目前为止编写的代码使用了hat字符^来检查以所选复选框的ID开头的所有复选框,例如;单击1将尝试检查ID为1-的所有框。检查1-2将检查以1-2开头的所有复选框。

$("input[type='checkbox']").live('click', function() {
    var selected = $(this).attr('id').match(/\d+$/);
    alert(selected);
    $("input[id^='buCheck_"+selected+"-']").attr('checked','checked');
});

2 个答案:

答案 0 :(得分:1)

这个怎么样?

http://jsfiddle.net/wfMXv/2/

答案 1 :(得分:0)

你没有真正解释你的问题是什么。我猜它不适用于子复选框。

最简单的方法就是删除id的解析:

$("input[type='checkbox']").live('click', function() {
    var selected = $(this).attr('id');
    alert(selected);
    $("input[id^='"+selected+"-']").attr('checked','checked');
});