使用JQuery来检查组中是否没有单选按钮被检查

问题描述:

我坐在一个问题,我需要检查与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

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

你可以做这样的事情:

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

我使用

$("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

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

使用.lengthhttp://api.jquery.com/checked-selector/

if ($('input[name="html_elements"]:checked').length === 0) alert("Not checked"); 
else alert("Checked"); 

var len = $('#your_form_id input:radio:checked').length; 
     if (!len) { 
     alert("None checked"); 
     }; 
     alert("checked: "+ len); 

我觉得这是一个简单的例子,如何检查一组电台的无线电进行了调查。

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

我用这简单得多

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"); 
     } 

}