Reputation: 607
I am using chosen library in my rails application and running into "Uncaught TypeError: $(...).chosen is not a function" error.
I installed using npm :
"npm install chosen-js"
Code :
<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()
});
Am I missing anything here?
Upvotes: 0
Views: 2600
Reputation: 1307
Try to apply chosen
via turbolinks:load
event:
$(document).on('turbolinks:load', function() {
$(".chosen-select").chosen();
});
Upvotes: 1
Reputation: 71
I think you need to copy the javascript file to your app/assets/javascripts directory then require it in application.js. I dont think npm does that for you.
Upvotes: 2