1

我有一个使用 select_tag 的价格下拉列表,但是每次我使用下拉列表设置价格然后进行搜索时,当返回搜索结果时,下拉列表中的值会恢复为默认值。如何使下拉列表保持在最后一个值?这是代码,最后我得到了 :selected => 但不知道要赋予它什么价值:

<%= label :price, 'max', "to $" %>
<%= select_tag(:max, options_for_select([['$100,000', 100000], ['$200,000', 200000], ...['$20,000,000', 20000000]], :selected => ['$1,000,000', 1000000])) %>
4

1 回答 1

4

:selected应该指向要预选的数组元素的最后一个元素。

尝试

<%= select_tag(:max, options_for_select([['$100,000', 100000], ['$200,000', 200000], ...['$20,000,000', 20000000]], :selected => 1000000)) %>

如果您想保留当前请求的价值,您可以选择

<%= select_tag(:max, options_for_select([['$100,000', 100000], ['$200,000', 200000], ...['$20,000,000', 20000000]], :selected => params[:max])) %>

请参阅Rails API 上的 options_for_select

于 2012-05-22T05:52:10.023 回答