jQueryUI Radio/Check按钮不会以编程方式更改

reb*_*ard 11 html jquery jquery-ui

我可以预测读取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>
Run Code Online (Sandbox Code Playgroud)

Nic*_*ver 20

更新值后,如下所示:

$('[name="radio"][value="false"]').attr("checked", true);
Run Code Online (Sandbox Code Playgroud)

您需要告诉jQuery UI更新,如下所示:

$('#radio').buttonset("refresh");
Run Code Online (Sandbox Code Playgroud)

你可以在这里尝试一下.


Tho*_*ann 8

我经常做一个:

$('[name="radio"][value="false"]').attr("checked", true).trigger("change");
Run Code Online (Sandbox Code Playgroud)

buttonset("refresh")调用绑定到change事件,当你以编程方式更改值时,它不会被触发 - 触发它会手动解决ui问题,你不需要担心buttonset的位置