有几个类似的帖子,所以,但我还没有找到一个答案是正确的。我正试图按照GitHub页面的说明在Rails 3.2应用程序中实现select2-rails创业板。我捆绑了gem并包含了javascript和css文件。然后,我添加了一个js函数调用,类似于样本代码中的函数调用。然而,我的选择栏一点也没有变化。
Javascript包括:
# application.js
//= require jquery
//= require jquery_ujs
//= require select2
//= require jquery-1.11.0.min.js
//= require lightbox.min.js
//= require parsley
//= require ./jquery.datetimepicker.js
//= require Stripe/jquery.payment.js
//= require_tree .CSS包括:
# application.css.less
/*
*= require_tree .
*= require select2
*= require select2-bootstrap
*= stub active_admin
*/我的页面带有表单,只是试图复制这个示例:
# new.html.haml
=content_for :title, 'Post a job'
= javascript_include_tag "https://js.balancedpayments.com/1.1/balanced.js"
:javascript
var _balanced_marketplace = "#{@balanced_marketplace}";
var _categories = #{raw(@categories.to_json)};
$(document).ready(function() { $("#e1").select2(); });
...
...
%select{id: "e1"}
%option{value: "AL"} Alabama
%option{value: "WY"} Wyoming我的脚本的末尾和HAML生成的HTML:
$(document).ready(function() { $("#e1").select2(); });
</script>
<select id='e1'>
<option value='AL'>Alabama</option>
<option value='WY'>Wyoming</option>
</select>所有这一切只是导致一个正常的选择下拉,没有select2样式/功能。
在Javascript控制台中,我看到函数调用出现以下错误:
Uncaught TypeError: undefined is not a function 我对Javascript并不十分熟悉,但我猜这意味着函数‘`select2 2()’有问题。但是,我不知道如何开始调试它,因为我已经逐字逐句地遵循了gem安装说明。当我查看页面源时,我看到加载的select2 js库如下所示:
<script src="/assets/select2.js?body=1" type="text/javascript"></script>发布于 2014-09-10 20:44:33
这个错误可能与您两次加载jQuery有关:
//= require jquery
//= require jquery_ujs
//= require select2
//= require jquery-1.11.0.min.js您要做的是加载jquery,然后加载select2。然后加载第二个jQuery,它清除了第一个jQuery (它与select2相关联)。所以当你打电话:
$("#e1").select2();select2不再存在于第二个jQuery上。
我无法想象您真的需要加载两个jQueries,所以去掉一个。
https://stackoverflow.com/questions/25771127
复制相似问题