我正在使用 Ryan Batesnested_form_for: https://github.com/ryanb/nested_form 。对于我的选择语句,我使用选择选择:http://harvesthq.github.io/chosen/ 。当我单击“添加技能”时,我无法使选择语句也成为类:“选择-选择”。将显示一个新的选择字段,但它没有自定义 CSS 样式。
更清楚地说,原始的 select 语句正确显示,而我添加的语句没有自定义 css 样式(chosen-select)。
<%= nested_form_for(@user) do |f| %>
<%= f.fields_for :skills do |builder| %>
<%= builder.select :skill, data, {}, {class: 'chosen-select'} %>
<%= builder.date_select :expdate, include_blank: true %>
<%= builder.link_to_remove "Remove" %>
<% end %>
<%= f.link_to_add "Add Skill", :skills %>
<% end %>
有没有办法让我通过 link_to_add 函数添加的选择语句使用“chosen-select”类?
最佳答案
我认为你的问题是“选择的插件”在页面加载时对元素进行更改,一旦加载页面,添加的新元素就不会改变,至少你再次调用该函数。我会在添加新元素的单击事件上调用该函数。像这样的事情:
$('#add-element').on 'click', ->
$('.chosen-select').chosen()
我正在阅读nested_form的文档,就你的情况而言,我认为是这样的:
$(document).on 'nested:fieldAdded, (event)->
$('.chosen-select').chosen()
或者,更像文档所说
$(document).on 'nested:fieldAdded, (event)->
field = event.field
detefield = field.find('.chosen-select')
datefield.chosen()
我认为这有效!
PD:js代码是Coffescript。
PD2:我认为cocoon gem对这份工作来说是最好的。
关于javascript - Rails 4 - 嵌套表单和选择选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25585596/