如何设置无线电选项检查onload与jQuery?
需要检查是否没有设置默认值,然后设置默认值
如何设置无线电选项检查onload与jQuery?
需要检查是否没有设置默认值,然后设置默认值
当前回答
下面是使用上述方法的示例:
<div class="ui-field-contain">
<fieldset data-role="controlgroup" data-type="horizontal"> <legend>Choose a pet:</legend>
<input type="radio" name="radio-choice-2" id="radio-choice-1" value="choice1">
<label for="radio-choice-1">Cat</label>
<input type="radio" name="radio-choice-2" id="radio-choice-2" value="choice2">
<label for="radio-choice-2">Dog</label>
<input type="radio" name="radio-choice-2" id="radio-choice-3" value="choice3">
<label for="radio-choice-3">Hamster</label>
<input type="radio" name="radio-choice-2" id="radio-choice-4" value="choice4">
<label for="radio-choice-4">Lizard</label>
</fieldset>
</div>
在javascript中:
$("[name = 'radio-choice-2'][value='choice3']").prop('checked', true).checkboxradio('refresh');
其他回答
如果您希望它是真正动态的,并选择与输入数据相对应的无线电,那么这是可行的。它使用传入数据的性别值或使用默认值。
if(data['gender'] == ''){
$('input:radio[name="gender"][value="Male"]').prop('checked', true);
}else{
$('input:radio[name="gender"][value="' + data['gender'] +'"]').prop('checked', true);
};
$("form input:[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"]);
}
这适用于多个单选按钮
$('input:radio[name="Aspirant.Gender"][value='+jsonData.Gender+']').prop('checked', true);