我问了一个与此类似的问题 here但现在我坚持使用 Bootstrap Switch 的 event handler 。我只想打印开关切换时的状态。目前仅在点击时切换状态,不会触发新事件。
以下是我的一些设置:
一些.js
$(document).ready(function() {
$("#famous-people-switch").bootstrapSwitch();
$("#famous-people-switch").on("switchChange", function (e, data) {
console.log(data.value);
});
});
some.html.erb
<div class="col-md-6">
<input id="famous-people-switch" type="checkbox" name="famous-people" checked>
<h4>Famous People:</h4>
</div>
gem
Using sass (3.3.2)
Using bootstrap-sass (3.1.1.0)
Using bootstrap-switch-rails (2.0.2)
Using jquery-rails (3.1.0)
Using sass-rails (4.0.1)
Application.css.scss
@import "bootstrap";
@import "bootstrap3-switch";
Application.js
//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require bootstrap-switch
//
//= require_tree .
最佳答案
由于 bootstrap-switch 的版本问题,该事件未被触发。版本 2 不包含它们,并且 gem 目前仅支持版本 2。我已提交拉取请求以将 gem 更新到版本 3(仍在开发中)。
版本 3 的分支:https://github.com/tomprats/bootstrap-switch-rails/tree/allow-switch-v3
拉取请求:https://github.com/manuelvanrijn/bootstrap-switch-rails/pull/9
使用
更新您的 Gemfile 以使用正确的分支:
gem "bootstrap-switch-rails", git: "git://github.com/tomprats/bootstrap-switch-rails, branch: "allow-switch-v3"
更新您的 Application.js 文件:
//= require bootstrap-switch3
更新您的 Application.css 文件:
*= require bootstrap-switch3
或者Application.css.scss文件:
@import "bootstrap-switch3";
关于javascript - Bootstrap 开关事件处理程序不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22461748/