1

有两个单独的 div:check_one 和 check_two。check_one 有 4 个盒子,check_two 有 1 个。

如果选中 check_two div 中的复选框,则应取消选中第一个 div 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);
    }

});​
4

2 回答 2

0

试试这个:

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

还有一个 jsFiddle:http: //jsfiddle.net/PgHbu/3/

于 2012-11-29T00:33:40.603 回答
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");
            }
        });
    });
于 2012-11-29T00:43:03.307 回答