bootstrap switch setState使用jquery函数

pab*_*nho 1 javascript jquery twitter-bootstrap bootstrap-switch

我正在尝试使用两个外部按钮设置引导开关的状态,这是代码:

    <div>
        <input type="checkbox" name="switch" id="switch" value="1" data-on-text="ON" data-off-text="OFF" />
    </div>

    <div>
        <a id="set_on">ON</a>
        <a id="set_off">OFF</a>
    </div>

<script src="assets/jquery.min.js" type="text/javascript"></script>
<script src="assets/jquery-ui.min.js" type="text/javascript"></script>
<script src="assets/bootstrap.min.js" type="text/javascript"></script>
<script src="assets/bootstrap-switch.js"></script>
<script>
    $("#switch").bootstrapSwitch();
    $( "#set_on" ).click(function() {
        $("#switch").bootstrapSwitch('setState', true);
    });
    $( "#set_off" ).click(function() {
        $("#switch").bootstrapSwitch('setState', false);
    });
</script>
Run Code Online (Sandbox Code Playgroud)

单击按钮ON或OFF开关,不要切换其状态.在浏览器的控制台上查看我读错了: TypeError:$(...).bootstrapSwitch不是函数

如果我尝试以这种方式将引导开关的状态设置在函数外部:

<script>
    $("#switch").bootstrapSwitch();
    $("#switch").bootstrapSwitch('setState', false);
</script>
Run Code Online (Sandbox Code Playgroud)

开关正确切换到ON状态.

小智 13

请用以下代码替换您的代码:

    <script type="text/javascript">
    $( document ).ready(function() {
    $("#switch").bootstrapSwitch();

    $( "#set_on" ).click(function() {
        $("#switch").bootstrapSwitch('state', true);
    });
    $( "#set_off" ).click(function() {
        $("#switch").bootstrapSwitch('state', false);
    });
    });
    </script>
Run Code Online (Sandbox Code Playgroud)


Man*_*lvi 4

尝试将代码包装在里面$( document ).ready(function() {});,以便在执行 jQuery 代码之前加载所有 DOM 元素,如下所示:

<script>
$( document ).ready(function() {
    $("#switch").bootstrapSwitch();
    $("#switch").bootstrapSwitch('setState', false);
});
</script>
Run Code Online (Sandbox Code Playgroud)

尝试在完整的脚本中使用它,如下所示 -

<script>

 $( document ).ready(function() {
    $("#switch").bootstrapSwitch();
    $( "#set_on" ).click(function() {
        $("#switch").bootstrapSwitch('setState', true);
    });
    $( "#set_off" ).click(function() {
        $("#switch").bootstrapSwitch('setState', false);
    });
});

</script>
Run Code Online (Sandbox Code Playgroud)