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

Rol*_*and 99 jquery

我遇到了问题,如果单选按钮组中没有单选按钮,我需要检查JQuery,这样如果用户忘记检查选项,我可以给用户一个javascript错误.

我正在使用以下代码来获取值

var radio_button_val = $("input[name='html_elements']:checked").val();
Run Code Online (Sandbox Code Playgroud)

小智 138

我正在使用

$("input:radio[name='html_radio']").is(":checked")
Run Code Online (Sandbox Code Playgroud)

如果未检查无线电组中的所有项目,则返回FALSE;如果检查了项目,则返回TRUE.

  • 这个答案可靠地帮我检查一个单选按钮组是否有一个选定的值.线程中的最佳答案. (3认同)

Dom*_*ger 137

if (!$("input[name='html_elements']:checked").val()) {
   alert('Nothing is checked!');
}
else {
  alert('One of the radio buttons is checked!');
}
Run Code Online (Sandbox Code Playgroud)

  • 如果选中的单选按钮的值为"",则会失败 (17认同)
  • 抱歉,我的评论令人困惑:我的意思是整个测试看起来像这样: `if ($("input[name='html_elements']:checked").val() == "")` 这会提醒 "什么都没有检查” (2认同)

Dou*_*ner 32

你可以这样做:

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();
}
Run Code Online (Sandbox Code Playgroud)

  • 你可以,但是如果你显示了一个值,你需要另一个完整的jQuery选择来获取值. (7认同)
  • 难道你不能将前两行缩小到只有`if($("input [name ='html_elements']:checked").length == 0){`? (2认同)

fan*_*abi 5

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


小智 5

.length参阅http://api.jquery.com/checked-selector/

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