http://jsfiddle.net/tearex/untbe/
<body style="text-align:center">
<a>
HOW TO check a button
</a>
<fieldset data-role="controlgroup" data-type="horizontal" >
<input name="btn1" id="a1" type="radio" value="1" />
<label for="a1">1 populate USA</label>
<input name="btn1" id="a2" type="radio" />
<label for="a2" class="bigga">2 populate Germany</label>
</fieldset>
如何选择按钮?
document.getElementById('a2').attr('checked', 'checked')
jQuery("#a2").attr('checked', true);
jQuery("input[value='1']").attr('checked', true);
jQuery('input:radio[name="type"]').filter('[value="1"]').attr('checked', true);
我已经尝试了在其他线程中找到的所有方法,但没有一种方法有效。
答案 0 :(得分:1)
你需要使用jQuery包装器来使用像.attr()这样的方法,但要设置你需要使用的checked属性.prop()
$('#a2').prop('checked', true);
$y('input[name="type"][value="1"]').prop('checked', true);
使用vanila javascript
document.getElementById('a2').checked = true
答案 1 :(得分:1)
一般来说,如果你有直接引用DOM元素,你可以设置.checked
属性:
document.getElementById('a2').checked = true;
...或者如果您使用的是jQuery,请使用.prop()
方法:
$("#a2").prop("checked", true);
但是,我注意到你在使用jQuery mobile,它增加了特殊的样式,并且显示给用户的元素不是实际的单选按钮元素。对于这种情况,如jQuery mobile radio buttons doco page底部所述,如果您使用JS设置检查状态,则需要调用.checkboxradio("refresh")
告诉jQuery mobile更新显示:
$("#a2").prop("checked", true).checkboxradio("refresh");