simple_form`selected`设置下拉默认值不起作用

时间:2014-10-14 07:40:48

标签: ruby-on-rails ruby ruby-on-rails-3 drop-down-menu simple-form

在我的Rails 3(!)项目中,我使用simple_form gem来处理我的所有表单。在其中一个中,我需要一个下拉列表来获得预设值。我尝试了两种不同的方法:

= form.input :country_id, :input_html => {"value" => preset_country}, :label => false

= form.input :country_id, :label => false, selected => preset_country

在这两个示例中,生成的HTML代码都是有效的 - 除了我得到的其他选项之外:

<option value="21" selected="selected">Argentina</option>

但它似乎对屏幕上显示的内容没有任何影响 - 我看到的只是“请选择国家”而不是“阿根廷”。对这里有什么不妥的任何想法?我一直使用简单的形式,从未遇到过这样的行为......

<select>的完整生成的HTML:

<select class="select optional disabled" disabled="disabled" id="subscription_channel_country_id"><option value="">Please select country</option>
                <option value="0">United States</option>
                <option value="21" selected="selected">Argentina</option>
                <option value="2">Australia</option>
                <option value="12">Austria</option>
                <option value="10">Belgium</option>
                <option value="8">Brazil</option>
                <option value="9">Canada</option>
                <option value="28">Czech Republic</option>
                <option value="17">Denmark</option>
                <option value="14">Finland</option>
                <option value="5">France</option>
                <option value="3">Germany</option>
                <option value="24">Greece</option>
                <option value="27">Hungary</option>
                <option value="11">India</option>
                <option value="29">Ireland</option>
                <option value="6">Italy</option>
                <option value="18">Mexico</option>
                <option value="1">Netherlands</option>
                <option value="22">New Zealand</option>
                <option value="15">Norway</option>
                <option value="16">Poland</option>
                <option value="25">Portugal</option>
                <option value="13">Russia</option>
                <option value="26">Slovakia</option>
                <option value="4">Spain</option>
                <option value="19">Sweden</option>
                <option value="23">Switzerland</option>
                <option value="20">Turkey</option>
                <option value="7">United Kingdom</option>
                <option value="0">United States</option></select>

1 个答案:

答案 0 :(得分:1)

某些浏览器会在“软”重新加载(例如Firefox)之间保存表单状态。

如果给出了选定的选项,它应该可以正常工作。你只是在重新加载页面吗?

尝试“硬重装”(在某些浏览器中 ctrl + F5 )或只需点击地址栏并按Enter键。