2010-01-15 148 views
79

我坐在一個問題,我需要檢查與JQuery如果單選按鈕組內沒有單選按鈕已被檢查,以便我可以給如果用戶忘記檢查選項,則會出現javascript錯誤。使用JQuery來檢查組中是否沒有單選按鈕被檢查

我用下面的代碼來獲取值

var radio_button_val = $("input[name='html_elements']:checked").val(); 
+1

看起來像道格的答案是比我更有用,所以你可能更好地使用他的(見Sc ottE評論我的答案)。如果道格的答案適合你,你能接受他嗎? – 2010-01-15 14:46:50

+0

@DominicRodger先生,這對你很有禮貌。 – 2014-01-24 08:33:57

回答

118
if (!$("input[name='html_elements']:checked").val()) { 
    alert('Nothing is checked!'); 
} 
else { 
    alert('One of the radio buttons is checked!'); 
} 
+12

如果選中的單選按鈕的值爲「」 – ScottE 2010-01-15 14:41:53

+1

@ScottE - 優秀點 - 如果羅蘭不接受它,我將刪除該答案。 – 2010-01-15 14:48:29

+0

我想你可以把它改成'.val()==「」'並移除'!',你就會全部設置好。 – 2010-01-15 21:08:21

30

你可以做這樣的事情:

var radio_buttons = $("input[name='html_elements']"); 
if(radio_buttons.filter(':checked').length == 0){ 
    // None checked 
} else { 
    // If you need to use the result you can do so without 
    // another (costly) jQuery selector call: 
    var val = radio_buttons.val(); 
} 
+2

難道你不能縮小前兩行只是'if($(「input [name ='html_elements']:checked」)。length == 0){'? – Powerlord 2010-01-15 14:53:13

+5

你可以,但如果你顯示一個值存在,那麼你需要另一個完整的jQuery選擇來獲得值。 – 2010-01-15 21:06:04

115

我使用

$("input:radio[name='html_radio']").is(":checked") 

如果radiogroup中的所有項都是,則返回FALSE未選中並且在檢查項目時爲TRUE。

+6

對這個問題的最佳答案。 – FastTrack 2012-04-30 20:30:02

+3

這個答案可靠地爲我工作,檢查單選按鈕組是否有選定的值。線程中的最佳答案。 – 2013-04-29 19:21:06

+1

Dominic Rodger和JacoboHernández的答案都很好。我個人嘗試從不使用行首的NOT(!)。多年之後,當你忽視這一點並且邏輯倒退時,它很難調試......是(「:checked」)非常清楚你在做什麼 - 最佳答案。 – Scott 2016-02-15 16:44:44

5
if ($("input[name='html_elements']:checked").size()==0) { 
    alert('Nothing is checked!'); 
} 
else { 
    alert('One of the radio buttons is checked!'); 
} 
1
var len = $('#your_form_id input:radio:checked').length; 
     if (!len) { 
     alert("None checked"); 
     }; 
     alert("checked: "+ len); 
2

我覺得這是一個簡單的例子,如何檢查一組電臺的無線電進行了調查。

if($('input[name=html_elements]:checked').length){ 
    //a radio button was checked 
}else{ 
    //there was no radio button checked 
} 
0

我用這簡單得多

HTML

<label class="radio"><input id="job1" type="radio" name="job" value="1" checked>New Job</label> 
<label class="radio"><input id="job2" type="radio" name="job" value="2">Updating Job</label> 


<button type="button" class="btn btn-primary" onclick="save();">Save</button> 

SCRIPT

$('#save').on('click', function(e) { 
    if (job1.checked) 
     { 
       alert("New Job"); 
     } 
if (job2.checked) 
     { 
      alert("Updating Job"); 
     } 

}

相關問題