2013-09-05 45 views
0

我有一個問題,這一個:如果與複選框聲明的jQuery/JavaScript的

if($("#Autotag").is(":checked")) 
{ 
alert("Just to check if it works"); 
} 

但是,儘管它的檢查的話不會給我的警告對話框! 我一直在尋找正確的答案。我寫的所有其他代碼確實有效,但不是這個。

的jsfiddle沒有給我任何提示的人叫我試試...... 我也一直在讀這如何:jQuery how to

+2

你如何運行這段代碼? – Sergio

+0

'document.getElementById('Autotag')。checked' is [FAR more efficiency](http://vanilla-js.com/) –

+0

默認情況下是否檢查它,或者在頁面加載時是否嘗試檢查它,而沒有裝入它在變化evnt –

回答

3

當人檢查複選框,該代碼將不會運行,它只會告訴你的複選框的狀態在時間上已經運行的那一刻。

如果您想知道它何時被選中,您需要監聽更改事件。以下代碼假定您將此元素添加到頁面中或者將元素添加到頁面後調用。

$("#Autotag").on("change", function() { 
    if($(this).is(":checked")) { 
     alert("Just to check if it works"); 
    } 
}); 
+0

你在我之前,這是[** fiddle **](http://jsfiddle.net/QJ5NW/)來支持你的答案。 – Praveen

+0

謝謝@epascarello! :) – amadeusxnet

1

你需要調用這個改變事件中,而不是隻是調用一次

$("#Autotag").change(function() { 
    var $this = $(this); 
    if ($this.is(":checked")) { 
    alert("This should work for you"); 
    } 
}); 
+1

謝謝@KageUrufu! :) – amadeusxnet

+1

雖然我很欣賞你緩存了'$(this)'的結果,但與'this.checked'相比,它仍然沒有任何意義;) –

+0

不是問題,它的習慣用於緩存事物的力量 – KageUrufu