Javascript 如何验证引导单选按钮
我试图验证表单的这一部分,但无论选择哪个按钮,option1都返回false。当收音机处于活动/非活动状态或从按钮组获取值时,如何使每个收音机具有不同的值Javascript 如何验证引导单选按钮,javascript,jquery,twitter-bootstrap-3,Javascript,Jquery,Twitter Bootstrap 3,我试图验证表单的这一部分,但无论选择哪个按钮,option1都返回false。当收音机处于活动/非活动状态或从按钮组获取值时,如何使每个收音机具有不同的值 $(函数寄存器(){ $('.err').hide(); $(“#提交”)。单击(函数(){ if($('#option1').prop(“选中”,false)){ $(“#fcerr”).show(); } 如果($('#选项1').prop(“选中”)){ $(“#fcerr”).hide(); } }); }); 工作人员 客户 错
$(函数寄存器(){
$('.err').hide();
$(“#提交”)。单击(函数(){
if($('#option1').prop(“选中”,false)){
$(“#fcerr”).show();
}
如果($('#选项1').prop(“选中”)){
$(“#fcerr”).hide();
}
});
});代码>
工作人员
客户
错误消息
有几件事:
您的代码片段中没有包含javascript框架,尽管您的问题是用jQuery标记的
第四行if($('#option1').prop(“checked”,false)){
正在更改您试图计算的值
如果要将选项元素视为可验证的组,则它们应共享相同的名称属性
使用您的代码:
if ($('#option1').prop("checked", false)){
$("#fcerr").show();
}
实际上,每次都将属性“checked”设置为false。完成后,if语句将接收一个truthy值,以便执行if块中的内容
请尝试以下方式进行验证:
if($('#option1').is(':checked')){
//...
}
此外,如果您希望您的输入实际表现为一个组(意味着在给定时间只能检查一个),则必须共享相同的名称属性,您可以将html更新为:
<label id="lopt1" class="btn btn-primary">
<input type="radio" name="myOptions" id="option1" autocomplete="off"> Staff
</label>
<label id="lopt2" class="btn btn-primary">
<input type="radio" name="myOptions" id="option2" autocomplete="off"> Client
</label>
工作人员
客户
这是一个很好的总结。这里有一把小提琴给你:这是你想要的答案。这确实有效,但如果我切换到另一个电台,它们都会被选中if($('option1').prop(“checked”){alert(2);}if($('option2').prop(“checked”){alert(1)}
如果您真的想让输入像一个“组”一样运行,那么您应该对所有输入使用相同的“名称”属性,请参阅第二页中的更新答案。谢谢您的详细解释。