I want to drag and sort the div of id="sortable" class="sort"
. I use the function of sortable, but it does not work. Anybody can give advice?
$(document).on('change', '.my_class', function() { $target = $(this).closest('.question').find('.option') if (this.value == "SINGLE OPTION" || this.value == "OPTIONS") { $target.show(); } else { $target.hide(); } }); $( function(){ $('.sort').sortable(); });
<div id="sortable" class="sort"> <%= f.fields_for :questions do |question_form| %> <div class="question"> <%= question_form.text_field :question_text %> <%= question_form.select(:question_type, [ 'TEXT','SINGLE OPTION', 'OPTIONS', 'UPLOAD' ],{:prompt => 'Select One'}, :class => "my_class") %> <%= question_form.link_to_remove "Remove this Question" %> <%= question_form.fields_for :options do |option_form| %> <%= option_form.text_field :option_text %> <%= option_form.link_to_remove "Remove this option" %> <% end %> <div class="option" hidden> <%= question_form.link_to_add "Add a option", :options %> </div> </div> <% end %> </div>
Advertisement
Answer
My solution is to use turbolinks.
$(document).on( 'turbolinks:load', function(){ $('.questions').sortable(); });