我有兩個複選框。每個人都有一個子窗體,當複選框未被標記時被禁用。我想標記每個複選框的子窗體啓用。切換標記複選框的事件
我試試這個代碼,但這個工程即使複選框未被選中:
$("#form1").click(function(){
if(":checked",this) { ..... }
});
$("#form2").click(function(){
if(":checked",this) { ..... }
});
你會幫我嗎?
我有兩個複選框。每個人都有一個子窗體,當複選框未被標記時被禁用。我想標記每個複選框的子窗體啓用。切換標記複選框的事件
我試試這個代碼,但這個工程即使複選框未被選中:
$("#form1").click(function(){
if(":checked",this) { ..... }
});
$("#form2").click(function(){
if(":checked",this) { ..... }
});
你會幫我嗎?
您可以使用jQuery的is
方法:
if($(this).is(":checked")) {
//It's checked!
}
什麼你現在將始終爲true,因爲this
一直在不斷地truthy(不undefined
或null
爲例)。
請注意,您需要將this
傳遞給jQuery,因爲它將引用點擊的DOM元素本身,而不是jQuery包裝的元素。
是#form1和#form2複選框?那麼你可以做:
$("#form1").change(function(){
if(this.checked) {
.....
}
});
$("#form2").change(function(){
if(this.checked) {
...
}
});
http://jsfiddle.net/9pgmN/1/各種冗餘的對象建立和選擇過濾後(只是一個演示)
jQuery的":checked"
歸結爲
checked: function(elem) {
return elem.checked === true;
}