2012-01-03 74 views
0

我有一組在幾個單選按鈕,其中一個是:jQuery的單選按鈕檢查,並取消

<input type='radio' id='other' name='Group'></input> 
<label for='other'>Other:</label> 

我想就這樣,當按鈕被選中,我得到一個警告。當單選按鈕變爲未選中時,在檢查之後(通過選擇另一個按鈕),我想獲得不同的警報消息。

JQuery的(這是不工作):

$('input:radio[id="other"]').change(
    function(){ 
     if ($(this).is(':checked')) { 
      alert("checked"); 
     } 
     if ($(this).is(':notchecked')) { 
      alert("notchecked"); 
     }   
    } 
); 
+0

與此代碼,它顯示了什麼? – ianace 2012-01-03 05:15:01

+0

@ianace檢查的部分正在提醒警報,但是當我「取消」按鈕時,沒有任何反應 – kirby 2012-01-03 05:16:16

回答

2

例如,你應該寫的改變事件的單選按鈕組,而不是爲每個按鈕。然後看看哪個單選按鈕被檢查

這是jsFiddle ref。 http://jsfiddle.net/uAR6e/

+0

這工作!我應該發佈所有的按鈕,但這是一個很好的開始。生病在4分鐘內接受你的答案。謝謝! – kirby 2012-01-03 05:24:48

2

試試這個。作爲@JQone建議你需要的功能,適用於每一個按鈕:

$('input:radio[name="Group"]').change(function(){ 
    if ($('#other').is(':checked')) { 
     alert("checked"); 
    } else { 
     alert("notchecked"); 
    } 
}); 

工作在http://jsfiddle.net/zZPcH/

+0

這些工作都沒有。第一個在檢查後立即產生兩個警報。當按鈕模糊時,第二個永遠不會提示未檢查的警報 – kirby 2012-01-03 05:20:43

+0

啊,我以爲它是一個複選框,而不是一個單選按鈕。請參閱下面的@ JQone的答案。我會更新我的代碼... – SpoonNZ 2012-01-03 05:23:37

0
if ($(this):not(:checked)) { 
    alert("notchecked"); 
} 
相關問題