Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查是否有任何无线电组没有选择_Javascript_Jquery - Fatal编程技术网

Javascript 检查是否有任何无线电组没有选择

Javascript 检查是否有任何无线电组没有选择,javascript,jquery,Javascript,Jquery,如果用户试图提交表单而未提供任何广播组的选择,我将尝试发出警报。表单是动态的,无线电输入的名称也是动态的 我提出了以下解决方案: $("input:radio").each(function() { var name = $(this).attr("name"); if($("input:radio[name="+name+"]:checked").length == 0) { incomplete = true; } }); 但是,我收到以下控制台错误: Error: S

如果用户试图提交表单而未提供任何广播组的选择,我将尝试发出警报。表单是动态的,无线电输入的名称也是动态的

我提出了以下解决方案:

$("input:radio").each(function() {
  var name = $(this).attr("name");
  if($("input:radio[name="+name+"]:checked").length == 0) {
    incomplete = true;
  }
});
但是,我收到以下控制台错误:

Error: Syntax error, unrecognized expression: input:radio[name=response_text[11898]]
这里什么是语法上无效的

编辑:按要求添加HTML

<div class='form-group'>
  <label for='11899'>2. The earth is flat</label>
    <ol class='answers' id='11899' tabindex='2'>
        <li class='answer'>
            <input type='radio' name='response_text[11899]' value='766' id='766'>
      <label for='766' class='answer-text'>True</label>
     </li>
     <li class='answer'>
          <input type='radio' name='response_text[11899]' value='767' id='767'>
          <label for='767' class='answer-text'>False</label>
     </li>
    </ol>
</div>

你的名字周围少了引号

改变

$("input:radio[name="+name+"]:checked")

您的完整代码应该如下所示

$("input:radio").each(function() {
  var name = $(this).attr("name");
  if($("input:radio[name='"+name+"']:checked").length == 0) {
    incomplete = true;
  }
});

你能添加你的htmltry在名字周围加引号吗?$input:radio[name='+name+']:选中或添加你的htmlPlease不要从你的问题中删除相关代码。此外,请查看元素的用途,以及属性的用途。解决方案的唯一缺点是反复检查组again@DavidThomas我正在使用中描述的元素。你觉得有什么需要改变的?谢谢就是这样
$("input:radio").each(function() {
  var name = $(this).attr("name");
  if($("input:radio[name='"+name+"']:checked").length == 0) {
    incomplete = true;
  }
});