1
radio = $('input:radio[name=priority]:checked').val();

// if radio hv checked
if(radio !== ""){
 // do something
}

这不起作用,我的 if 语句中应该包含什么?我尝试了其他字段,例如 username !=="" 它工作正常,但不适用于无线电字段..

4

3 回答 3

4

您可以尝试使用is

// if radio hv checked
if($('input:radio[name=priority]').is(':checked')){
 // do something
}
于 2013-09-15T13:29:41.687 回答
0

我相信如果选中了单选按钮,并且设置了 value 属性,它将返回该值。您的代码正在尝试获取选中的单选按钮的值。试试下面的代码。

radio = $('input:radio[name=priority]').val();

编辑:好的,这应该用于单选按钮验证。

if ($('input:radio[name=priority]').is(':checked') { }
于 2013-09-15T13:27:16.980 回答
0

$('input:radio[name=priority]:checked').val();undefined如果没有选中的单选按钮,则返回,因为您正在使用!==您的 if 条件成功,因为undefined !== ''

一种可能的解决方案是检查检查的无线电数量,如下所示

var $radiosc = radio = $('input:radio[name=priority]:checked');
if($radiosc.length){
    var radio = $radiosc.val();
    //do something if selected
}

或未定义的测试

radio = $('input:radio[name=priority]:checked').val();

// if radio hv checked
if(radio !== undefined){
 // do something
}
于 2013-09-15T13:27:28.497 回答