一次取消选中所有JQuery单选按钮组

问题描述 投票:21回答:5

使用jQ-ui buttonset功能

<script>
    $(function() {
        $( "#radio" ).buttonset();
    });
    </script>


    <div id="radio">
        <input type="radio" id="radio1" name="radio" /><label for="radio1">Choice 1</label>
        <input type="radio" id="radio2" name="radio" checked="checked" /><label for="radio2">Choice 2</label>
        <input type="radio" id="radio3" name="radio" /><label for="radio3">Choice 3</label>
    </div>

有没有办法一次取消选中buttonset的所有单选按钮?

javascript jquery jquery-ui
5个回答
32
投票

您可以使用以下内容取消选中它们(针对jQuery UI 1.9更新:

$('#radio input').removeAttr('checked');
// Refresh the jQuery UI buttonset.                  
$( "#radio" ).buttonset('refresh');
​

工作JSFiddle


15
投票

您可以匹配所有单选按钮并使用prop()取消选中它们。

但是,您还必须在执行此操作后刷新buttonset小部件:

$("#radio").find("input:radio").prop("checked", false).end()
           .buttonset("refresh");

14
投票

之前的jQuery 1.6版本

$(':radio').attr('checked', false);  

要么

$(':radio').removeAttr('checked');

在jQuery 1.6+之后

$(':radio').prop('checked', false);

要么

$(':radio').removeProp('checked');

1
投票

偶然发现这个...使用jQuery 1.9.1使用按钮组的类名称,所有按钮最初都未设置。尚不确定是否会对此产生影响,但不方便知道。

$( "div.myclass" ).buttonset();

<div id="myDiv" class="myclass">
    <input type="radio" name="myname" id="id1" value="1"><label for="id1">Label1</label>
    <input type="radio" name="myname" id="id2" value="2"><label for="id2">Label2</label>
    <input type="radio" name="myname" id="id3" value="3"><label for="id3">Label2</label>
</div>

0
投票

这对我行得通

$('input:radio[name="RadioName"]').each(function () { $(this).attr('checked', false); });
© www.soinside.com 2019 - 2024. All rights reserved.