按类名验证单选按钮的窗体
Form validating radio buttons by class name
我正在使用以下脚本:
if($('.fmscr:checked').val()){
$('.fmscr').closest('.form-group').removeClass('has-error');
$('.fmscr').closest('.form-group').addClass('has-success');
}else{
$('.fmscr').closest('.form-group').addClass('has-error');
$('.fmscr').closest('.form-group').removeClass('has-success');
}
在以下收音机上以表格形式显示:
<div class='form-group'>
<div class='col-xs-12'>
<p>
Were you subject to the (FMSCR's) Department of Transportation (DOT) Regulations while employed?<span class='req'> *</span>
</p>
<label class='radio-inline'>
<input type='radio' class='fmscr checked' name='fmscr[]' value='1'> Yes
</label>
<label class='radio-inline'>
<input type='radio' class='fmscr checked' name='fmscr[]' value='-1'> No
</label>
</div>
</div>
单选按钮的数量尚未确定。上面的脚本是在提交时运行的,但它不计算单选按钮,直到两个单选按钮都被选中,而且只有一个单选按钮被选中。那么我在这里做错了什么?我希望能够检查所有单选按钮,无论数量如何,并使它们能够正确验证。如果需要任何进一步的信息,请告诉我!提前谢谢。
如果您确实有多组radio
按钮共享同一个类选择器,那么以下代码应该会有所帮助:
$('.fmscr:checked').each(function() {
if( this.value ) {
$(this).closest('.form-group').removeClass('has-error');
$(this).closest('.form-group').addClass('has-success');
} else {
$(this).closest('.form-group').addClass('has-error');
$(this).closest('.form-group').removeClass('has-success');
}
});
您的代码
if ($('.fmscr:checked').val())
只考虑与选择器匹配的第一个找到的元素。有关详细信息,请参见此处:http://api.jquery.com/val/我不知道你到底想做什么,但你可以这样尝试:
if ($('.fmscr:checked').length > 0 )) // at least one is checked
祝你好运!
相关文章:
- 多个单选按钮组相互干扰
- 是否可以禁用jquery中的单个单选按钮
- 如果选择了特定的单选按钮,如何显示窗体
- 选择单选按钮时显示或隐藏窗体
- 多个单选按钮窗体、单个组无法检索值
- 是否可以使用后退按钮保留窗体单选选项
- 使用解释的变量名称循环遍历窗体上的单选按钮
- 在选择单选按钮时绘制窗体
- 如何向窗体动态添加单选按钮
- 检查动态窗体中的单选按钮
- 按类名验证单选按钮的窗体
- 根据从数据库检索到的值,选中窗体上的单选按钮
- 在窗体内选择一类单选按钮
- 单击单选按钮或复选框时,窗体滚动到顶部
- 使用jQuery为单选按钮窗体创建解释框
- 显示另一组窗体的单选按钮
- 使用无干扰JavaScript的窗体单选按钮
- Greasemonkey更改窗体中单选按钮的值
- 带有Javascript的窗体函数中的单选按钮
- 如何确定在具有多个按钮组的窗体中选择哪个单选按钮