javascript - Rails 4 - 嵌套表单和选择选择

标签 javascript jquery css ruby-on-rails ruby-on-rails-4

我正在使用 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/

相关文章:

javascript - 如何从许多其他输入中找到触发 keydown 事件的特定输入框

javascript - 如何向本地托管的 Node.js 服务器发出 jQuery 请求?

javascript - 如何隐藏元素onclick jquery

javascript - Ajax 在提交表单时发送我的表单

jquery - html 和 css 标签,修复导航顶部背景

javascript - 如何在Electron中从文件名转换为URL?

javascript - Jquery 从多个中删除类,将类添加到一个

jquery - HighCharts:工具提示框架上可见的标签

css - Sass/Compass 不删除旧 Sprite

html - 调整大小时表单 btn 移动的 CSS 问题