如何根据以前字段的用户选择在rails表单中显示一些字段?

时间:2015-05-23 11:51:39

标签: jquery ruby-on-rails dynamic field partials

这是我使用的代码。

<%= form_for(@shift) do |f| %>
 <div class="field">
    <%= f.label :Does_This_Shift_Have_a_Break? %></br> 
    <%= f.radio_button :shift_break_option, 'Yes' %> Yes
    <%= f.radio_button :shift_break_option, 'No' %> No<br />
  </div>

   <div id="break_dur_fields">  
     <div class="field">  
       <%= f.label :Do_you_want_to_deduct_the_break_duration?%></br> 
       <%= f.radio_button :break_deduction_option, 'Yes' %> Yes
       <%= f.radio_button :break_deduction_option, 'No' %> No<br />
    </div>
    <div class="field">  
    <%= f.label :What_is_the_break_start_time? %> </br> 
    <%= f.select :break_start_hrs, (1..12).map { |i| "%02d" % i } %>  <%= f.select :break_start_min, (0..59).map { |i| "%02d" % i } %>
    <%= f.select :break_start_am_pm, options_for_select([["AM", "AM"], ["PM", "PM"]], :selected => @shift.break_start_am_pm) %></br>
   </div>
   <div class="field">  
    <%= f.label :What_is_the_break_end_time?%></br> 
    <%= f.select :break_end_hrs, (1..12).map { |i| "%02d" % i } %>  <%= f.select :break_end_min, (0..59).map { |i| "%02d" % i } %>
    <%= f.select :break_end_am_pm, options_for_select([["AM", "AM"], ["PM", "PM"]], :selected => @shift.break_end_am_pm) %></br>
   </div>  

  </div> 

  <div class="field">  
   <%= f.label :the_shift_duration_is %>

   <%= f.text_field :duration ,:readonly => true, :size=>"4",:value => (f.object.duration || 0 ) %> &nbsp;minutes.

  </div>

  <div class="actions">
    <%= f.submit %>
  </div>
<% end %> 

这里我只想在用户点击表单上的特定单选按钮时显示div(即break_dur_fields)部分。目前通过使用jquery iam隐藏这个div部分。当用户点击特定单选按钮时,只有iam通过使用jquery显示此div部分。但是这种方法不是实现它接缝的方法。就像在这里一样,这些领域首先出现并且随着我隐藏着jquery而消失。我不想要这种效果。所以我想在用户通过使用javascript点击页面上的特定单选按钮时,使用包含此特定div字段的javascipt动态呈现部分。我该如何实现呢?

0 个答案:

没有答案