Javascript 在Rails中预先选择值的多个选择框
我一直在努力实现acts as taggable on和select2,以获得类似于stackoverflow的标记系统。我终于把一切都做好了,但有两个问题我可以解决Javascript 在Rails中预先选择值的多个选择框,javascript,jquery,ruby-on-rails,Javascript,Jquery,Ruby On Rails,我一直在努力实现acts as taggable on和select2,以获得类似于stackoverflow的标记系统。我终于把一切都做好了,但有两个问题我可以解决 如何预先填充已保存的标记 当我第一次加载页面时,它不会在初始加载时应用select2javascript,但如果我刷新页面,它会使用select2javascript正确格式化页面。(使用咖啡,因此可能会切换到常规javascript) 下面是两段适用的代码: $(document).on 'ready page:load', -
$(document).on 'ready page:load', ->
$("select#cuisine-select").select2({
tags: true,
tokenSeparators: [',', ' ']
placeholder: 'Select Cuisine'
allowClear: true
});
表格编号:
<div class="fields">
<%= f.label :cuisine_list, "Cuisines (separated by commas)" %>
<%= f.collection_select :cuisine_list, Recipe.cuisine_counts, :id, :name, {},
{ multiple: true, id: "cuisine-select", :style => "width:300px"} %>
</div>
“宽度:300px”}%>
编辑:解决了部分问题,但现在当我加载编辑时,它会正确加载,但当我更新时,它会使用ID而不是名称进行更新。我将其改为:
<div class="fields">
<%= f.label :cuisine_list, "Cuisines (separated by commas)" %>
<%= f.collection_select :cuisine_list, Recipe.cuisine_counts, :id, :name, {:selected => recipe.cuisine_counts.map(&:id)},
{ multiple: true, id: "cuisine-select", :style => "width:300px"} %>
</div>
recipe.courine_counts.map(&:id)},
{multiple:true,id:“烹饪选择”,:style=>“宽度:300px”}%>
此外,我还将页面:load改为turbolinks:load,这似乎解决了初次访问时不加载页面的问题