我正在尝试验证表单的这一部分,但无论选择哪个按钮,option1都返回false。如何让每个无线电在它们处于活动/非活动状态时具有不同的值,或者从按钮组获取值?
$(function register(){
$('.err').hide();
$("#submit").click(function() {
if ($('#option1').prop("checked", false)){
$("#fcerr").show();
}
if ($('#option1').prop("checked")){
$("#fcerr").hide();
}
});
});
<div class="btn-group btn-group-justified btn-group-sm" data-toggle="buttons">
<label id="lopt1" class="btn btn-primary">
<input type="radio" name="option1" id="option1" autocomplete="off"> Staff
</label>
<label id="lopt2" class="btn btn-primary">
<input type="radio" name="option2" id="option2" autocomplete="off"> Client
</label>
</div>
<div><label class="err" id="fcerr">Error Message</label></div>
<input name="register" type="submit" value="Register" class="btn btn-primary btn-lg btn-block" id="submit">
var client = $("#option2").val();
alert(client);
答案 0 :(得分:1)
一些事情:
if ($('#option1').prop("checked", false)){
正在更改您尝试评估的值。答案 1 :(得分:1)
使用您的代码:
if ($('#option1').prop("checked", false)){
$("#fcerr").show();
}
您实际上正在设置属性&#34;已检查&#34;每次都是假的。完成后,if语句会收到一个真值,这样它就会执行if块中的内容。
请尝试这样的验证:
if($('#option1').is(':checked')){
//...
}
此外,如果您希望您的输入实际上表现为一个组(意味着在给定时间只能检查一个),您必须共享相同的name
属性,您可以将您的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>