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)
尝试将代码包装在里面$( 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)