未捕获的TypeError:$(...)。chosen在Rails应用程序中不是函数

时间:2019-06-17 00:46:25

标签: javascript jquery-chosen

我在Rails应用程序中使用选定的库,并遇到“ Uncaught TypeError:$(...)。chosen is not function”错误。

我使用npm安装:

"npm install chosen-js"

代码:

<div data-controller="dropdown">
<select id="abcMenu" class= "chosen-select" data-action="dropdown#abc">
    <option value="/abc">A</option>
    <option value="/xyz">B</option>
    <option value="/def">C</option>
</select>
</div>

/app/assets/javascripts/application.js

//= require rails-ujs
//= require jquery
//= require turbolinks
//= require local-time
//= require moment
//= require_tree .

$(document).ready(function(){
  $(".chosen-select").chosen()
});

我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:1)

我认为您需要将javascript文件复制到您的app / assets / javascripts目录,然后在application.js中要求它。我认为npm不会为您做到这一点。

答案 1 :(得分:1)

尝试通过chosen事件应用turbolinks:load

$(document).on('turbolinks:load', function() {
  $(".chosen-select").chosen();
});