2 つの外部ボタンでブートストラップ スイッチの状態を設定しようとしています。これはコードです。
<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>
スイッチのオンまたはオフのボタンをクリックしても、その状態は切り替わりません。ブラウザのコンソールを見ると、次のエラーが表示されます: TypeError: $(...).bootstrapSwitch is not a function
この方法で関数の外でブートストラップ スイッチの状態を設定しようとすると、次のようになります。
<script>
$("#switch").bootstrapSwitch();
$("#switch").bootstrapSwitch('setState', false);
</script>
スイッチがオンの状態に正しく切り替わります。