如果设置了checked属性,则将bootstrap按钮设置为按下状态

时间:2016-01-25 18:41:46

标签: javascript jquery html css twitter-bootstrap

点击Thread 1, signal SIGABRT中的文字并未将引导状态设置为按下

要重现,请运行下面的代码段,然后点击div。该按钮仍处于未按下状态,但警报显示已设置已检查属性。

如何修复它,如果点击Set button to pressed state内的文字,按钮会显示在已检查状态?

Bootstrap文档包含:

  

如果更新了复选框按钮的选中状态而未触发按钮上的单击事件(例如,通过或通过设置输入的已检查属性),则需要在输入上切换.active类。给自己贴上标签。

这应该实施,如果是,怎么做?



div




1 个答案:

答案 0 :(得分:0)

您还需要在父标签上触发类更改。您正在使用的插件在手动触发时不会自动执行此操作。



<head>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">

    <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
    <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
    <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

    <script>
        $(function () {
            $('.designer-field').on("click", function () {
                $('#designer-javascript-bold').prop('checked', true);
                $('#designer-javascript-bold').parent().toggleClass('active');
            });
        });

    </script>

</head>
<body>
    <div class="btn-group" data-toggle="buttons">
        <label class="btn btn-info">
            <input type="checkbox" autocomplete="off" id="designer-javascript-bold"><span class="glyphicon glyphicon-bold"></span>
        </label>
        <label class="btn btn-info">
            <input type="checkbox" autocomplete="off"><span class="glyphicon glyphicon-bold"></span>
        </label>

    </div>
    <div class="designer-field">Set button to pressed state</div>
</body>
&#13;
&#13;
&#13;