在我的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>
答案 0 :(得分:1)
某些浏览器会在“软”重新加载(例如Firefox)之间保存表单状态。
如果给出了选定的选项,它应该可以正常工作。你只是在重新加载页面吗?
尝试“硬重装”(在某些浏览器中 ctrl + F5 )或只需点击地址栏并按Enter键。