我可以预测读取jQueryUI单选按钮的值,但是,我无法以编程方式设置它。无论我使用哪种方法来更改单选按钮的值,jQueryUI接口都不会更新其接口。
<div id="radio">
<input type="radio" name="radio" value="true" checked="checked" />Yes
<input type="radio" name="radio" value="false" />No
</div>
<script type="text/javascript">
$('#radio').buttonset();
// One of the many ways that won't work.
$('[name="radio"]:radio:checked').val("false");
</script>
答案 0 :(得分:20)
更新值后,如下所示:
$('[name="radio"][value="false"]').attr("checked", true);
您需要告诉jQuery UI更新,如下所示:
$('#radio').buttonset("refresh");
答案 1 :(得分:8)
我通常做一个:
$('[name="radio"][value="false"]').attr("checked", true).trigger("change");
buttonset(“refresh”)调用绑定到change事件,当你以编程方式更改值时,它不会被触发 - 触发它会手动解决ui问题,你不必担心buttonset的位置是
答案 2 :(得分:4)
$('[name="state"]:radio:checked').attr('checked', true); // checked
$('[name="state"]:radio:checked').removeAttr('checked'); // unchecked
** 注意 **
$(':radio').val(); // same as $(':radio').attr('value');
因此:
$(':radio[checked]').val(); // -> the value of the first checked radio button found
答案 3 :(得分:1)
我通常做一个:
$('[name="radio"][value="false"]').prop("checked", true).trigger("change");
请使用&#34; prop&#34;而不是&#34; attr&#34;改变&#34;检查&#34;状态。