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

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


当前回答

这适用于多个单选按钮

$('input:radio[name="Aspirant.Gender"][value='+jsonData.Gender+']').prop('checked', true);

其他回答

原生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

这适用于多个单选按钮

$('input:radio[name="Aspirant.Gender"][value='+jsonData.Gender+']').prop('checked', true);

单程怎么样?

$('input:radio[name="gender"]').filter('[value="Male"]').attr('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);

我想你可以假设,这个名称是唯一的,组中的所有电台都有相同的名称。然后你可以像这样使用jQuery支持:

$("[name=gender]").val(["Male"]);

注意:传递数组很重要。

的版本:

if (!$("[name=gender]:checked").length) {
    $("[name=gender]").val(["Male"]);
}