重置(取消选择)Bootstrap Radio按钮的问题

时间:2014-06-26 18:55:08

标签: jquery twitter-bootstrap twitter-bootstrap-3

请您查看this demo并告诉我为什么我无法使用以下代码取消选择所有单选按钮:

<div class="btn-group" data-toggle="buttons" id="radioopt">
  <label class="btn btn-primary active">
    <input type="radio" name="options" id="option1"> Option 1
  </label>
  <label class="btn btn-primary">
    <input type="radio" name="options" id="option2"> Option 2
  </label>
  <label class="btn btn-primary">
    <input type="radio" name="options" id="option3"> Option 3
  </label>
</div>
<button class="btn btn-success" id="deselect">Reset</button>

<script>
  $("#deselect").on("click",function(){
    $(".btn-group button").removeClass("active");
  }
</script>

2 个答案:

答案 0 :(得分:5)

这应该有效。您的选择器错误,您也没有关闭on方法。

$("#deselect").on("click",function(){
  $(".btn-group .btn").removeClass("active");
});

另外,如果你真的想知道激活没有被应用到输入无线电,​​那么它将应用于父节点,所以如果真的想要只选择无线电,那么你必须选择无线电,然后父母像这样:

$("#deselect").on("click",function(){
 $('input:radio').parent().removeClass("active");
});

修改

以下是警告值

的示例

http://jsfiddle.net/Wcq2F/

更新版本:

http://jsfiddle.net/Wcq2F/45/

答案 1 :(得分:0)

<!--input radio button group for  boot strap-->
    <label id="labelsecenek" class="btn btn-primary secenek secenekrb" style="color: #fff; background-color:#232323;  border-color:#232323;">
                                                <input type="radio" name="renksecenek" id="secenek1" value="1" autocomplete="off">Radio Button 1
                                            </label>

    <script>
/*This script do: when clicked checked a radiobutton, this radiobutton will be unchecked. note: if click another radio button already this button will be unchecked*/
                                        var pasifyap = false;
                                        var click = null;
                                        var thisobj = null;
                                        $(function () {
                                            $(".secenekrb").mousedown(function (e) {
                                                if ($(this).find("[type='radio']").prop("checked") == true) {
                                                    pasifyap = true;
                                                    thisobj =this;
                                                }
                                            });
                                            $(".secenekrb").mouseup(function (e) {
                                                setTimeout(function(){
                                                    if (pasifyap) {
                                                        $(thisobj).find("[type='radio']").prop("checked", false);
                                                        $(thisobj).removeClass("active");
                                                        pasifyap = false;
                                                    }
                                                },100)
                                            });
                                        });
                                    </script>