如何设置无线电选项检查onload与jQuery?

需要检查是否没有设置默认值,然后设置默认值


当前回答

如果您希望它是真正动态的,并选择与输入数据相对应的无线电,那么这是可行的。它使用传入数据的性别值或使用默认值。

if(data['gender'] == ''){
 $('input:radio[name="gender"][value="Male"]').prop('checked', true);
}else{
  $('input:radio[name="gender"][value="' + data['gender'] +'"]').prop('checked', true);
};

其他回答

例如,你有这样的单选按钮:

    <input type='radio' name='gender' value='Male'>
    <input type='radio' name='gender' value='Female'>

你想检查一个值为“Male”的onload,如果没有检查无线电:

    $(function() {
        var $radios = $('input:radio[name=gender]');
        if($radios.is(':checked') === false) {
            $radios.filter('[value=Male]').prop('checked', true);
        }
    });

我喜欢@Amc的答案。我发现表达式可以进一步压缩,以不使用filter()调用(@chaiko显然也注意到了这一点)。同样,对于jQuery v1.6+, prop()是对抗attr()的方法,请参阅jQuery文档中关于prop()的官方最佳实践。

考虑一下@Paolo Bergantino回答中的相同输入标签。

<input type='radio' name='gender' value='Male'>
<input type='radio' name='gender' value='Female'>

更新后的一行代码可能是这样的:

$('input:radio[name="gender"][value="Male"]').prop('checked', true);

//如果你在javascript或者像backbone这样的框架上做,你会遇到很多这种情况 可以是这样的

$MobileRadio = $( '#mobileUrlRadio' );

$MobileRadio.checked = true;

不会起作用,

$MobileRadio[0].checked = true;

会的。

你的选择器也可以像上面推荐的那样。

不需要这些。 使用简单而古老的HTML,您可以实现您想要的。 如果你让你想检查的收音机默认是这样的: <input type='radio' name='gender' checked='true' value='Male'> 当页面加载,它会来检查。

原生JS解决方案:

 document.querySelector('input[name=gender][value=Female]').checked = true;

http://jsfiddle.net/jzQvH/75/

HTML:

<input type='radio' name='gender' value='Male'> Male
<input type='radio' name='gender' value='Female'>Female