我正在編寫一個已經編碼的項目,我必須添加一些功能。它簡單,有5天,每個天就有這個組織:Ruby on rails複選框有條件檢查和禁用表單內容
但是我有一個問題。在原始項目中,例如,當用戶點擊「Matin」時,輸入小時數可用於寫入,如果不是,則輸入框被禁用。這裏是工作的代碼:
<div class="col-md-2 col-sm-2 col-xs-12 check_<%= day %>_morning">
<label style="font-weight: normal !important; color: #337ab7;">
<% if !scheduler.object.morning_isEmpty? %>
<%= check_box_tag day, 'yes', true, class: 'day_morning' %>
<% else %>
<%= check_box_tag day, 'yes', false, class: 'day_morning' %>
<% end %>
Matin</label>
</div>
<div class="all-scheduler col-md-3 col-sm-3 col-xs-12 none-label <%= day %>_form_morning <% if scheduler.object.morning_isEmpty? %> disabledcontent <% end %>">
<%= scheduler.input :begin_hour_morning, input_html: { type: 'number', min: 0, max: 23 }, class: day + '_form_morning' %> h
<%= scheduler.input :begin_min_morning, input_html: { type: 'number', min: 0, max: 59 }, class: day + '_form_morning' %>
</div>
<div class="all-scheduler col-md-1 col-sm-1 col-xs-12 <%= day %>_form_morning day_form <% if scheduler.object.morning_isEmpty? %> disabledcontent <% end %>">
<div class="mobile-slash"> /</div>
</div>
<div class="all-scheduler col-md-3 col-sm-3 col-xs-12 none-label <%= day %>_form_morning <% if scheduler.object.morning_isEmpty? %> disabledcontent <% end %>">
<%= scheduler.input :end_hour_morning, input_html: { type: 'number', min: 0, max: 23 }, class: day + '_form_afternoon' %> h
<%= scheduler.input :end_min_morning, input_html: { type: 'number', min: 0, max: 59 }, class: day + '_form_afternoon' %>
</div>
</div>
<br>
<div class="row">
<div class="col-xs-12 col-md-2 col-sm-2"></div>
<div class="col-md-4 col-sm-4 col-xs-12 check_<%= day %>_rdv_morning <% if !scheduler.object.morning_isEmpty? %> disabledcontent <% end %>">
<%= scheduler.check_box :morning_rdv, {class: 'rdv' } %>
<label style="font-weight: normal !important; color: #337ab7;"> Matinée sur rendez-vous </label>
</div>
</div> <br> <br>
和模型:
def morning_isEmpty?
return (begin_hour_morning.nil? || begin_min_morning.nil? ||
end_hour_morning.nil? || end_min_morning.nil?)
end
,這裏是我複製/代碼從以前的代碼粘貼並不起作用(當我檢查「 JOURNEE完成」複選框領域仍然被禁用):
<div class="row space-allday">
<div class="col-md-2 col-sm-2 col-xs-12">
</div>
<div class="col-md-2 col-sm-2 col-xs-12 check_<%= day %>_all_day">
<label style="font-weight: normal !important; color: #337ab7;">
<% if !scheduler.object.all_scheduler_is_empty? %>
<%= check_box_tag day, 'yes', true, class: 'day_all' %>
<% else %>
<%= check_box_tag day, 'yes', false, class: 'day_all' %>
<% end %>
Journée complète</label>
</div>
<div class="all-scheduler col-md-3 col-sm-3 col-xs-12 none-label <%= day %>_form_allday <% if scheduler.object.all_scheduler_is_empty? == true %>disabledcontent <% end %>">
<%= scheduler.input :day_begin_hour, input_html: { type: 'number', min: 0, max: 23 }, class: day + '_form_allday' %> h
<%= scheduler.input :day_begin_min, input_html: { type: 'number', min: 0, max: 59 }, class: day + '_form_allday' %>
</div>
<div class="all-scheduler col-md-1 col-sm-1 col-xs-12 <%= day %>_form_allday day_form <% if scheduler.object.all_scheduler_is_empty? == true %>disabledcontent <% end %>">
<div class="mobile-slash"> /</div>
</div>
<div class="all-scheduler col-md-3 col-sm-3 col-xs-12 none-label <%= day %>_form_allday <% if scheduler.object.all_scheduler_is_empty? == true %>disabledcontent <% end %>">
<%= scheduler.input :day_end_hour, input_html: { type: 'number', min: 0, max: 23 }, class: day + '_form_allday' %> h
<%= scheduler.input :day_end_min, input_html: { type: 'number', min: 0, max: 59 }, class: day + '_form_allday' %>
</div>
</div>
<br>
<div class="row">
<div class="col-xs-12 col-md-2 col-sm-2"></div>
<div class="col-md-4 col-sm-4 col-xs-12 check_<%= day %>_rdv_allday">
<%= scheduler.check_box :day_rdv, :class => 'rdv' %>
<label style="font-weight: normal !important; color: #337ab7;"> Journée sur rendez-vous </label>
</div>
</div>
和模型:
def all_scheduler_is_empty?
return (day_begin_hour.nil? || day_begin_min.nil? ||
day_end_hour.nil? || day_end_min.nil?)
末
是否有人可以幫助我提高了代碼,並找到問題?
對我來說,它看起來基本上是相同的代碼,只是對於Journée你輸入了另一個檢查<%if!scheduler.object.morning_isEmpty? %>在第一個示例中 –
@KcUS_unico是代碼是相同的,但不是結果,因爲當我單擊複選框時,字段仍處於禁用狀態,不像第一個代碼示例 –
,如果那些禁用並在取消選中/檢查時動態啓用複選框,它將需要JS,不僅在工作的例子中,ruby – mswiszcz