在HTML中设置Dropdown的默认值 - 特殊情况

时间:2013-03-14 05:27:44

标签: javascript html ruby-on-rails html5 erb

我的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>

如何动态设置每个下拉列表的默认值?

3 个答案:

答案 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中根据需要写这个。