我有一个下拉选择选项,如下面
<select id="find_best" name="finding_best">
<option value="10">One</option>
<option value="20">Two</option>
<option value="30">Three</option>
</select>
这是在表单中,当提交表单时,如果存在验证错误,则所选选项会消失。假设我选择了Three然后提交,如果发生任何验证错误,则重新加载页面并且不再选择该选项。使用必须再次选择它。
但是我想在提交表单后重新加载页面后保留所选的选项。我试过这个
<% if defined?(params[:finding_best]) %>
$("#find_best").val(<%= params[:finding_best] %>);
<% end %>
但这不起作用。我该怎么办呢。
答案 0 :(得分:0)
您需要做的是将selected
属性添加到正确的<option>
元素,以便浏览器知道所选内容。你的最终HTML看起来应该是这样的。
<select id="find_best" name="finding_best">
<option value="10">One</option>
<option value="20">Two</option>
<option value="30" selected>Three</option>
</select>
答案 1 :(得分:0)
在rails中,您必须使用rails helper函数。如果您使用的是form_for,则使用表单对象f.select
编写它如果您使用的是简单的表单标记,请尝试以下操作:
<%= select_tag :find_best, raw(options_for_select([['One', 10],['Two', 20],['Three', 30]], params[:find_best])) %>