如何根据变量更改 rails 应用程序中下拉列表中的选定文本
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这样做吗?还是使用轨道表单助手??它的代码是什么?
您需要做的就是将国家/地区设置为selected='selected'
的<option>
元素。 如何执行此操作取决于您如何构建选项列表。
例如,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变量在国家/地区表中具有匹配的国家/地区代码,您可以执行以下操作。
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>
注意此处选择的使用。
相关文章:
- 如何在从多选下拉列表中选择选项值时动态生成文本框
- 如何在剑道下拉列表中按文本和值搜索
- 如何在ReactJs中链接下拉列表和文本区域
- 使用 jQuery 从下拉列表中获取所选文本
- 根据用户从下拉列表中的选择显示多个文本框
- 使用两个下拉列表的值填充文本框
- 如果没有从下拉列表中选择任何值,则允许使用php、mysql、javascript将文本框添加到mysql表中
- 将文本框/单选按钮/和下拉列表中的信息添加到dataTable
- angularjs文本区域-如何使其与angularjs下拉列表中的选定值保持同步
- 如何删除下拉列表中的部分文本
- 将数量文本框转换为下拉列表
- 从下拉列表中选择其他选项时激活文本框
- 禁用基于下拉列表选择 asp.net JavaScript 启用文本框
- 根据下拉列表中的选定值启用文本框
- 有角度的自动建议文本排版和html ul li下拉列表
- 将Wooccommerce属性下拉列表转换为可点击文本
- 如何在选择下拉列表值的文本框中获取值
- 从淘汰下拉列表中获取文本值
- 如何使用文本下拉列表中的绑定值来执行计算
- 使用模板时,我如何以编程方式设置剑道下拉列表文本