2011-02-06 57 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 

但我不知道是否有可能使用這種方法的任何跨瀏覽器的兼容性問題。

相關問題