jQuery从一个单独的特定复选框中取消选中div中的复选框

时间:2012-11-29 00:26:44

标签: jquery html checkbox uncheck

有两个独立的div:check_one& check_two。 check_one中有4个方框,check_two有1个。

如果选中check_two div中的复选框,则应取消选中第一个div中的所有chekced框,check_one。这有点令人困惑,但这就是我想要做的事情。

HTML ::

<div id="check_one">
    <label>Stuff 1</label> <input name="" type="checkbox" value="" id="group1" checked="checked"><br>
    <label>Stuff 2</label> <input name="" type="checkbox" value="" id="group1" checked="checked"><br>
    <label>Stuff 3</label> <input name="" type="checkbox" value="" id="group1" checked="checked"><br>
    <label>Stuff 4</label> <input name="" type="checkbox" value="" id="group1" checked="checked">
</div>
<br>
<div id="check_two">
    <label>Undo</label> <input name="uncheckMe" type="checkbox" value="" id="group2">
</div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

jQuery ::

$('input[name=uncheckMe]').change(
{
    var checked = $("#group1").attr("checked");

    if(checked)
    {
        $("#check_two").attr("disabled", true);
    }

});​

2 个答案:

答案 0 :(得分:0)

试试这个:

$("input[name='uncheckMe']").change(function(){
    if ($(this).is(":checked")){       
        $("#check_one input").removeAttr("checked");
    }
});

和jsFiddle:http://jsfiddle.net/PgHbu/3/

答案 1 :(得分:0)

我为此http://jsfiddle.net/Twisty/ta2qT/

创建了一个jsFiddle

你在Change()中缺少一个函数:

    $('input[name=uncheckMe]').change(function(){
        $("#check_one > input").each(function(i) {
            if ($(this).is(":checked")) {
                $(this).removeAttr("checked");
            }
        });
    });