【发布时间】:2016-07-01 15:32:58
【问题描述】:
我正在尝试让我的选择字段预填充与信用卡到期月/年相关的两个选择字段,显然我做错了:
在这种情况下,字段应选择 03 作为默认月份,并选择 2026 作为默认年份。
<div class="form-group">
<%= label_tag "Card Expiration", nil, required: true, class: "control-label col-md-3 col-sm-3 col-xs-4" %>
<div class="col-md-2 col-sm-2 col-xs-6">
<%= select_tag :exp_month, options_for_select(Date::MONTHNAMES.compact.each_with_index.map { |name,i| ["#{i+1} - #{name}", i+1] }), include_blank: false, "data-stripe" => "exp-month", class: "form-control", selected: @card.exp_month %>
</div>
<div class="col-md-2 col-sm-2 col-xs-6">
<%= select_tag :exp_year, options_for_select((Date.today.year..(Date.today.year+10)).to_a), selected: @card.exp_year, include_blank: false, "data-stripe" => "exp-year", class: "form-control" %>
</div>
</div>
这是生成的 HTML 月份的样子:
<select class="form-control" data-stripe="exp-month" id="exp_month" name="exp_month" selected="selected"><option value="1">1 - January</option>
<option value="2">2 - February</option>
<option value="3">3 - March</option>
<option value="4">4 - April</option>
<option value="5">5 - May</option>
<option value="6">6 - June</option>
<option value="7">7 - July</option>
<option value="8">8 - August</option>
<option value="9">9 - September</option>
<option value="10">10 - October</option>
<option value="11">11 - November</option>
<option value="12">12 - December</option>
</select>
这是一年生成的 HTML 的样子:
<select class="form-control" data-stripe="exp-year" id="exp_year" name="exp_year" selected="selected"><option value="2016">2016</option>
<option value="2017">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
<option value="2021">2021</option>
<option value="2022">2022</option>
<option value="2023">2023</option>
<option value="2024">2024</option>
<option value="2025">2025</option>
<option value="2026">2026</option>
</select>
我还验证了@card.exp_month = 1 和@card.exp_year = 2026。
【问题讨论】:
标签: html ruby-on-rails ruby