使用JQuery检查/取消选中一个框

时间:2015-11-07 10:38:23

标签: javascript jquery html

我在使用JQuery检查和取消选中输入时遇到了一些麻烦。我知道.prop是正确的方法,但它似乎并没有为我工作。这是我的代码:

HTML:

<div class="checkwrap"><input name="mentoringType" type="checkbox" checked="false" value="test">test</div>

JS:

$('.checkwrap').click(function() {
    if ($(this).find('input').is(':checked')){
        $(this).toggleClass('checkwrap-active').find('input').filter(':checkbox').prop('checked',false);
    } else {
        $(this).toggleClass('checkwrap-active').find('input').filter(':checkbox').prop('checked',true);
    }
});

输入包装用于样式目的。如果我使用.attr(&#39; checked&#39;,true / false),那么它可以将checked属性更改为 checked ,但不会取消选中。发生了什么事?

1 个答案:

答案 0 :(得分:0)

茄子是对的:你应该使用lebel元素使“测试”可点击。

回答你的问题: 当只点击文本时,你的skript确实有效。

单击复选框时,它也可以,但不是预期的。在这种情况下,您的代码会导致执行的重复,因为click事件会冒出DOM树。

如果未选中此复选框,则单击该复选框即可选中该代码并输入您的代码,将其检测为已选中并再次取消选择。

对于未选中的框,反之亦然。

但如前所述:你应该首先选择一个标签。