javascript - Bootstrap 开关事件处理程序不工作

标签 javascript jquery ruby-on-rails twitter-bootstrap

我问了一个与此类似的问题 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/

相关文章:

javascript - 尝试获取行数据警报。为什么我在点击时收到多个警报?

javascript - 3个不同范围的数字的百分比

javascript - 在 Click 事件中从多个 div 中删除/添加悬停事件

javascript - 如何使用事件处理程序创建 5 个 JQuery AJAX 调用?

ruby-on-rails - rails : How can I use system zip on Heroku to make a docx from an xml template?

javascript - RESTful Web 服务中的身份验证

javascript - 作为通过 HTTPS 提供的服务,在同一域但不同端口上通过 HTTP 提供页面是否存在任何安全隐患?

javascript - 将类添加到最后一个单词

ruby-on-rails - 乘客安装失败。内存太低?

javascript - 如何防止仅在一个 Rails Controller 上加载 css 和 js 表?