使用javascript.prop在两个单选按钮之间进行检查(';选中';);
我有这两个单选按钮,我正在检查其中一个是否用下面的javascript检查。当我键入这个问题时,我意识到我的脚本只检查是否选中了特定的单选按钮。如何检查以验证两个选项中的一个是否已检查使用javascript.prop在两个单选按钮之间进行检查(';选中';);,javascript,php,jquery,Javascript,Php,Jquery,我有这两个单选按钮,我正在检查其中一个是否用下面的javascript检查。当我键入这个问题时,我意识到我的脚本只检查是否选中了特定的单选按钮。如何检查以验证两个选项中的一个是否已检查 jQuery(“.GenderM1”)。每个(函数(){ var isChecked=jQuery(this).prop('checked'); 如果(isChecked==false){ e、 预防默认值(); pass=“false”; 警告(“请选择性别”); 返回false; } }); id=“ma
jQuery(“.GenderM1”)。每个(函数(){
var isChecked=jQuery(this).prop('checked');
如果(isChecked==false){
e、 预防默认值();
pass=“false”;
警告(“请选择性别”);
返回false;
}
});
id=“maleradio”class=“GenderM1”value=“0”必填项>M
id=“female\u redio”class=“GenderM1”value=“1”必需>F
您的代码
jQuery(".GenderM1").each(function() {
var isChecked = jQuery(this).prop('checked');
if (isChecked == false) {
e.preventDefault();
pass = "false";
alert("Please select gender.");
return false;
}
});
如果要将布尔变量与布尔值进行比较,请直接使用它:
isChecked == false// Use !isChecked
^
您使用的是一个未声明的e
,可能是。每个接收一个事件
e.preventDefault();
^
主要问题是您的循环比较每个radiobutton.checked属性,您需要检查是否至少有一个,然后检查以停止循环
此代码片段显示如何检查是否选中了单选按钮:
var isChecked=false;
jQuery(“.GenderM1”).each(函数(){
isChecked=isChecked | | jQuery(this).is(':checked');
如果(已检查)
返回false;
});
如果(!已检查){
var pass=“false”;
警告(“请选择性别”);
}
M
F
自jQuery 1.6以来,method.prop()可用,在以前的版本中,您必须使用method.attr()方法
你使用哪个版本
我仍然认为,你想要做的是,如果你没有选择一个显示错误的类型,并且使用你的代码,它将不会很好地工作。为此,您必须执行以下操作:
1-将其中一个标记为默认选中,也就是说,将其建立为默认选中状态,这样就消除了不标记错误的可能性。
2-修改您执行的验证,否则它将始终返回false,因为只有一个将被选中,并且您将遍历整个单选按钮排列,因此当您到达未选中的单选按钮时,它将返回false
if ($('input[class="GenderM1"]').is(':checked')) {
// do something;
} else {
//do another thing;
}
if($('.GenderM1:checked').length==1)
或仅if($('.GenderM1:checked').length)
。