【发布时间】:2021-10-06 22:39:56
【问题描述】:
我有一个结构如下的数组:
<% @locations = [['Town 1',2],['Town 2',2]...] %>
我通过了一个options_for_select 标记,该标记正确地显示了城镇名称并在提交时传递了id,这很棒。但是,我想要做的是传递城镇名称(键?)以及显示在结果页面上。我知道最好的方法是使用带有 javascript 的 hidden_field_tag 来传递值,但我只能传递 id 值,而不是城镇名称值。
表格
<%= form_tag(results_path, method: :post) do %>
<%= select_tag :location, options_for_select(@locations) %>
<%= hidden_field_tag(:location_name, value = nil, html_options = {id: 'locationName'}) %>
<%= submit_tag 'Submit' %>
<% end %>
Javascript
$('#location').change(function(){
var input = document.getElementById("location");
var site = document.getElementById("locationName");
site.value = input.value;
})
【问题讨论】: