2011-02-06 73 views
2

由于大多数人都知道,如果复选框被选中,至少有两种(简单)方法可以找到。如何判断复选框是否被选中?

($('#checkbox:checked').val() != undefined) OR​​

这两个方法是最好的?为什么?

+2

复选框的值不一定是“on”:如果有“value”属性,那就是你得到的。 – bart 2011-02-06 23:37:50

回答

6

我认为

$('#checkbox').is(':checked'); 

是要走的路。

+1

回复:为什么 - 因为它自动评估为布尔真/假 – mVChr 2011-02-06 19:07:45

+0

谢谢mVChr - 我忘了添加解释。 – Jan 2011-02-06 19:08:29

+1

只需添加,还有`if($(“#checkbox:checked”)。length)`。 – karim79 2011-02-06 19:13:37

2

另一种方式

if ($('#myCheckbox').attr("checked")) { .. } 

反正...我不认为其中任何一项必然是好还是坏。 jQuery旨在跨浏览器工作,因此它们中的任何一个都应该可以工作。不确定是否有人花时间对性能或其他方面进行基准测试......只要按照您认为最易读的方式进行即可。

6

如果您正在访问的原始元素,你应该能够使用类似:

this.checked 

但我不知道是否有可能使用这种方法的任何跨浏览器的兼容性问题。

相关问题