我想连接两个表单文本字段值并将它们分配到Rails视图中的隐藏表单字段:
<%= f.hidden_field :shortcode, :value => :package :pins %><br />
<div class="field">
<%= f.label :package_type %><br />
<%= select("package", "package_type_id", PackageType.all.collect {|p| [p.packagetype, p.id]} ) %>
</div>
<div class="field">
<%= f.label :pins %><br />
<%= f.text_field :pins %>
</div>
我想:shortcode返回输入到各自表单字段中的:package +:pins值的连接值。
我该怎么做?
编辑以显示用于实现此代码的代码作为“答案”:
$('#package_pins').blur(function() {
var combined = $('select#package_package_type_id option:selected').text() + $('#package_pins').val();
$('#package_shortcode').val(combined);
});
将此代码添加到app / assets / javascripts目录中的“packages.js”。
请注意,因为package_type选择器正在拉入模型中的belongs_to记录,所以选择选项的填充方式如下:
<select id=package_package_type_id name="package[package_type_id]">
<option value="551">FFG</option>
<option value="552">FFC</option>
<option value="553">FTA</option>
</select>
我想从“FFG”文本中获取的内容,而不是值“551”,这是ActiveRecord的记录ID,在这种情况下。我能够通过使用选项:selected')。text()jquery代码来完成此操作。
再次感谢@maprihoda指出我正确的方向!
答案 0 :(得分:0)
您需要为此编写一些客户端Javascript代码。使用例如JQuery,您可以轻松获取包和引脚字段的值(在用户填写引脚字段后),连接它们,并更新隐藏字段的值。
大致相似的东西(你需要将正确的类添加到包含字段的div中以便工作):
$('selector for the pins field').blur(function() {
combined = $('selector for the package_type field').val() + $('selector for the pins field').val()
$('selector for the hidden field').val(combined)
})