jQuery接收复选框状态

时间:2011-10-04 09:03:26

标签: javascript jquery checkbox

我正在以这种方式更改复选框状态:$(this).attr("checked", 'checked');

在此之后我想收到复选框状态,但我得到了这个:

$(this).attr('checked'): "checked"
$(this).is(':checked'): false

这是怎么回事?

P.S。也许我没有正确地通过jQuery更改复选框状态?

2 个答案:

答案 0 :(得分:14)

正确的方法是$(this).prop('checked')返回布尔属性而不是属性(这是一个字符串)。

使用.prop()您还可以设置已选中状态:$(this).prop('checked', true_or_false);

正如您在http://jsfiddle.net/ThiefMaster/QR2fL/上看到的那样,.attr('checked')会返回属性的初始值 - 在选中/取消选中复选框时,它不会更改。

答案 1 :(得分:6)

您不应选中以下复选框:

$(this).attr("checked", 'checked');

但是喜欢这个

$(this).prop("checked", true);

要检查是否选中了复选框,您可以使用:

$(this).prop('checked');

$(this).is(':checked');

返回布尔值