我正在制作表单,我需要根据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')
代码有什么问题?也许还有更好的方法吗?
答案 0 :(得分:0)
你必须移动这一行:
selection = $('#kategorie').val()
在您的处理程序中,否则在页面加载时执行一次,选择值稍后不会更改。
jQuery ->
text_container = $('#size1')
$('#kategorie').change ->
selection = $('#kategorie').val()
if selection == 'mostki'
text_container.text('Długość mostka')