使用jQuery的动态表单标签

时间:2015-06-26 13:45:59

标签: jquery ruby-on-rails ruby-on-rails-4 coffeescript

我正在制作表单,我需要根据select的值更改一些标签:

<%= form_for @advert do |f| %>
  <%= f.select :category, options_for_select(lista_kategorie_select.collect { |kat| [kat[0], kat[1]] }), {}, { class: "form_field form-control", id: "kategorie" } %>
  # kat[1] = selection (in jQuery) = ['mostki, 'korby', 'ramy', etc...]  
  <%= f.label :mostki, "Mostek", id: "size1" %>      
<% end %>

我尝试使用jQuery尽可能简单,但它不起作用:

jQuery ->
  text_container = $('#size1')
  $('#kategorie').change ->
    selection = $('#kategorie').val()
    if selection == 'mostki'
      text_container.text('Długość mostka')

代码有什么问题?也许还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

你必须移动这一行:

selection = $('#kategorie').val()

在您的处理程序中,否则在页面加载时执行一次,选择值稍后不会更改。

jQuery ->
  text_container = $('#size1')
  $('#kategorie').change ->
    selection = $('#kategorie').val()
    if selection == 'mostki'
      text_container.text('Długość mostka')