javascript - 检查是否有任何无线电组没有选择
问题描述
如果用户尝试提交表单而不提供任何无线电组的选择,我会尝试发出警报。表单是动态的,无线电输入的名称也是如此。
我想出了以下解决方案:
$("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>
解决方案
你很少错过周围的报价name
改变
$("input:radio[name="+name+"]:checked")
到
$("input:radio[name='"+name+"']:checked")
您的完整代码应如下所示
$("input:radio").each(function() {
var name = $(this).attr("name");
if($("input:radio[name='"+name+"']:checked").length == 0) {
incomplete = true;
}
});
推荐阅读
- python - 如何将 Dask 用于 .groupby.apply?
- dashboard - 如何在 Spotfire 中的 x 轴上的某个日期创建一条垂直线
- javascript - 从 of 或 from 创建的 observable 与从主题或行为主题创建的 observable 有什么区别?
- typescript - 在 Typescript 中实现 v. 扩展
- react-native - 反复按下按钮会中断动画
- html - Chrome 和 Firefox 垂直文本居中之间更好的奇偶性
- java - 需要帮助修复 NumberFormatException 错误
- blazor - 此 Blazor 错误消息是什么意思?
- javascript - Javascript - 有一种方法可以使用 eventListener 作为触发另一个 eventListener 的条件吗?
- performance - 运行 caret::train() 以开发 kknn 模型时的性能预期