0
的Rails 4.0 2.0紅寶石,SimpleForm 3.1.0.rc2Rails的形式將不選擇默認值
爲什麼沒有當它在第二個例子中選擇在第一示例中選擇的默認值?這兩個例子都是相同的形式。更重要的是,我想,我該如何解決它?謝謝。
<%= f.input(:location_id, {input_html: {value: @car.location}, collection: Location.all.order("name").collect{|c| [c.name, c.id]}, prompt: "Location?"}) %>
<select id="car_location_id" class="select optional form-control form-control" value="Rcving" name="car[location_id]">
<option value="">Location?</option>
<option value="7">Manager</option>
<option value="9">Rcving</option>
<option value="8">Return</option>
<option value="10">RollBack</option>
<option value="6">Stock</option>
</select>
<%= f.input(:ymm_year_id, {input_html: {value: @car.year}, collection: YmmYear.all.order("year desc").collect{|c| [c.year, c.id]}, prompt: "Year?"}) %>
<select id="car_ymm_year_id" class="select optional form-control form-control" value="2013" name="car[ymm_year_id]">
<option value="9">2015</option>
<option value="10">2014</option>
<option value="8" selected="selected">2013</option>
<option value="7">2012</option>
<option value="6">2011</option>
<option value="5">2010</option>
<option value="2">2009</option>
<option value="4">2008</option>
<option value="1">2007</option>
<option value="3">2006</option>
<option value="13">2005</option>
<option value="17">2004</option>
<option value="14">2003</option>
<option value="11">2002</option>
<option value="16">2001</option>
<option value="15">2000</option>
<option value="12">1999</option>
</select>
形式爲:
$("select[name='car[ymm_year_id]']").change(function() {
// send a GET request to /ymm_makes with the 'year' parameter
$.getJSON("/ymm_makes", {year: $(this).val()}, function (data) {
var options_html = ['<option value="">Make?</option>'];
// iterate over the JSON that we received back; each entry is one 'ymm_make'
$.each(data, function (index, make) {
if (index = 0) {options_html.push('<option value="">Make?</option>');}
// make a new <option> tag for each make and push it into the options_html array
options_html.push("<option value='" + make.id + "'>" + make.make + "</option>");
});
// put all our generated <options> tags into the <select> tag
$('select#car_ymm_make_id').html(options_html.join('')).prop('disabled', false);
});
});
編輯::改性使用可變的代碼,而ID:
<%= f.input(:location, {collection: Location.all.order("name").collect { |c| [c.name, c.id] }, prompt: "Location?"}) %>
<select id="car_location" class="select optional form-control form-control" name="car[location]">
<option value="7">Manager</option>
<option value="9">Rcving</option>
<option value="8">Return</option>
<option value="10">RollBack</option>
<option value="6">Stock</option>
</select>
有沒有在'@ car.location'上設置的值?我想知道是否從'value'屬性中選擇了默認值? – maxshelley 2014-09-20 19:49:06
@maxshelley。當然,值=「Rcving」實際上是直接從car.location的值生成的。與當年的價值=「2013」相同。 – 2014-09-20 23:07:48
你有沒有試過將'selected'選項顯式地傳遞給輸入?即''%= f.input(:location_id,{input_html:{value:@ car.location},collection:Location.all.order(「name」)。collect {| c | [c.name,c.id ]},提示:「Location?」}),選擇:@ car.location%>' – maxshelley 2014-09-21 10:25:54