我的Rails视图中有多个下拉框(index.html.erb)。代码如下所示:
......
......
<td>
<% @builds.each_with_index do |row,index|
if row2[0].to_s == row_s[0] %>
(When this condition is true I want to set the value of the dropdown list)
(The value could be PASS, FAIL or PENDING which comes from the database as row_s[7])
<form id=<%= "build_status_form#{index}" %>>
<select name="condition"
id=<%= "build_status#{index}" %> onchange="this.form.submit()">
<option value="PENDING">PENDING</option>
<option value="PASS">PASS</option>
<option value="FAIL">FAIL</option>
</select>
</form>
<% end %>
<% end %>
</td>
如何动态设置每个下拉列表的默认值?
答案 0 :(得分:2)
这可以使用rails helpers
在一行中完成<form id=<%= "build_status_form#{index}" %>>
<%= select_tag :condition, options_for_select(%w[PENDING PASS FAIL], row_s[7]), id: "build_status#{index}", onchange: 'this.form.submit()' %>
</form>
答案 1 :(得分:1)
假设您要设置默认值PASS
使用selected
<form id=<%= "build_status_form#{index}" %>>
<select name="condition"
id=<%= "build_status#{index}" %> onchange="this.form.submit()">
<option value="PENDING">PENDING</option>
<option value="PASS" selected="selected">PASS</option
<option value="FAIL">FAIL</option>
</select>
</form>
答案 2 :(得分:1)
<form id=<%= "build_status_form#{index}" %>>
<select name="condition"
id=<%= "build_status#{index}" %> onchange="this.form.submit()">
if(your value is true)
{
if value is pending then
<option selected="selected" value="PENDING">PENDING</option>
else
<option value="PENDING">PENDING</option>
like this you can write
}
</select>
</form>
我在这里写的就像javascript。你可以在ralis中根据需要写这个。