检查单选按钮是否为空

时间:2013-09-15 13:24:27

标签: jquery

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

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

这不起作用,我的if语句应该是什么?我尝试了像username一样的其他字段!==“”它工作正常,但不适用于无线电领域..

3 个答案:

答案 0 :(得分:3)

您可以尝试使用is

// if radio hv checked
if($('input:radio[name=priority]').is(':checked')){
 // do something
}

答案 1 :(得分:0)

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

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

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

if ($('input:radio[name=priority]').is(':checked') { }

答案 2 :(得分: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
}