Javascript 使用jquery函数设置引导开关状态
我试图用两个外部按钮设置引导开关的状态,代码如下:Javascript 使用jquery函数设置引导开关状态,javascript,jquery,twitter-bootstrap,bootstrap-switch,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="
<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>
在…上
关
$(“#开关”).bootstrapSwitch();
$(“#设置启用”)。单击(函数(){
$(“#开关”).bootstrapSwitch('setState',true);
});
$(“#抵消”)。单击(函数(){
$(“#开关”).bootstrapSwitch('setState',false);
});
单击打开或关闭开关no的按钮不会切换其状态。
在浏览器的控制台上,我看到以下错误:
类型错误:$(…)。引导开关不是函数
如果我尝试以这种方式在函数外部设置引导开关的状态:
<script>
$("#switch").bootstrapSwitch();
$("#switch").bootstrapSwitch('setState', false);
</script>
$(“#开关”).bootstrapSwitch();
$(“#开关”).bootstrapSwitch('setState',false);
开关正确切换到打开状态。尝试将代码包装到
$(document).ready(function(){})代码>以便在执行jQuery代码之前加载所有DOM元素,如下所示:
<script>
$( document ).ready(function() {
$("#switch").bootstrapSwitch();
$("#switch").bootstrapSwitch('setState', false);
});
</script>
$(文档).ready(函数(){
$(“#开关”).bootstrapSwitch();
$(“#开关”).bootstrapSwitch('setState',false);
});
试着像这样在完整脚本中使用它-
<script>
$( document ).ready(function() {
$("#switch").bootstrapSwitch();
$( "#set_on" ).click(function() {
$("#switch").bootstrapSwitch('setState', true);
});
$( "#set_off" ).click(function() {
$("#switch").bootstrapSwitch('setState', false);
});
});
</script>
$(文档).ready(函数(){
$(“#开关”).bootstrapSwitch();
$(“#设置启用”)。单击(函数(){
$(“#开关”).bootstrapSwitch('setState',true);
});
$(“#抵消”)。单击(函数(){
$(“#开关”).bootstrapSwitch('setState',false);
});
});
请用以下代码替换您的代码:
<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>
$(文档).ready(函数(){
$(“#开关”).bootstrapSwitch();
$(“#设置启用”)。单击(函数(){
$(“#开关”).bootstrapSwitch('state',true);
});
$(“#抵消”)。单击(函数(){
$(“#开关”).bootstrapSwitch('state',false);
});
});
您可以尝试使用bootstrapSwitch()
,类似于
$(“[name='status']”)。bootstrapSwitch()代码>
以这种方式,我遇到了相同的错误:TypeError:$(…)。bootstrapSwitch不是一个函数。无论如何,我对您发布的代码没有问题,但在最上面;)您发布的没有$(document).ready(function(){})就可以正常工作;对不起,这是我的错误,我发现了问题,我在文件底部有其他一些js文件。如果我把脚本放在底部工作正常,很抱歉我浪费了你的时间,方法名必须是set
而不是setState
。很抱歉,是我的错误,我发现了问题,我在文件底部有其他一些js文件。如果我把脚本放在底部,效果很好,很抱歉我浪费了你的时间对我来说最大的收获是op的“setState”
应该是“state”
。