![](/img/trans.png)
[英]Change drop down selected item based on selected item of another drop down list
[英]How to change the selected text in a drop down list in rails application based on a variable?
我有一個帶有貨幣列表的選擇下拉框。 為了使用戶更方便,我想在頁面加載時根據用戶國家/地區更改下拉列表中的默認選定值(將使用geoip gem),因此我將編寫以下Ruby代碼:
$country = GeoIp.geolocation(request.remote_ip, :precision => :country)
如何根據$ country值更改下拉列表框的選定值? 我應該使用Javascript嗎? 或使用Rails表單幫助程序? 它的代碼是什么?
您所需要做的就是設置<option>
元素,該元素的國家/地區為selected='selected'
。 如何執行取決於您如何構建選項列表。
例如, options_for_select
將所選元素作為第二個參數。
options_for_select(['Alpha', 'Beta', 'Gamma'], 'Beta')
# => <option value="Alpha">Alpha</option>
# => <option value="Beta" selected="selected">Beta</option>
# => <option value="Gamma">Gamma</option>
假設您的$ country變量在Country表中具有匹配的國家/地區代碼,則可以執行以下操作。
select_tag "currency", options_from_collection_for_select(Country.all, "country_code", "currency_name", $country)
你可以嘗試這樣的事情:
<%= f.select :someobj, options_for_select({ "Basic" => "$20", "Plus" => "$40" }, $country ) %>
它會給你:
<select name="someobj">
<option value="$20">Basic</option>
<option value="$40" selected="selected">Plus</option>
</select>
注意此處使用“選定”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.