jQuery 接收复选框状态

发布于 12-08 03:31 字数 246 浏览 0 评论 0原文

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

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

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

这是怎么回事?

PS 也许我没有通过 jQuery 正确更改复选框状态?

I'm changing checkbox status this way: $(this).attr("checked", 'checked');

After this I want to receive checkbox status, but I got this:

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

How this can be?

P.S. Maybe I'm not correctly changing checkbox status via jQuery?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

杯别2024-12-15 03:31:56

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

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

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

The proper way is $(this).prop('checked') to return the boolean property instead of the attribute (which is a a string).

Using .prop() you can also set the checked state: $(this).prop('checked', true_or_false);

As you can see on http://jsfiddle.net/ThiefMaster/QR2fL/, .attr('checked') returns the initial value of the attribute - it does not changed when checking/unchecking the checkbox.

裸钻2024-12-15 03:31:56

您不应该像这样检查复选框:

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

而是像这样

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

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

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

or

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

返回一个布尔属性

You should not check the checkbox like this:

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

but like this

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

To check if a checkbox is checked you can use:

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

or

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

which return a boolean proerty

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文