设置选择选项的默认值

时间:2014-02-02 09:58:19

标签: javascript jquery ruby-on-rails

我有一个下拉选择选项,如下面

<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 %> 

但这不起作用。我该怎么办呢。

2 个答案:

答案 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])) %>