使用javascript禁用Checkbox

时间:2015-02-15 20:03:11

标签: javascript jquery ruby-on-rails ruby-on-rails-4 nested-attributes

在我的rails应用程序中,我在profile / _experience_fields.html.erb

中有这个表单
    <div class="form-profile-half-last experselect end-date">
      <%= f.label :experience_end, class: "profile_label" %><br />
      <%= f.date_select :experience_end, {start_year: 1945, discard_day: true, order: [ :day, :month, :year ]}, :html=> {class: 'date-select'} %>
    </div>

    <div class="form-checkbox">
      <%= f.check_box :experience_current,:class => 'is_current', id: "checkbox_id" %>
      Je travail içi
    </div>

<script>
$(document).ready(function(){
    $("input[class='is_current']").change(function() {
       if ($('#checkbox_id').is(":checked")) {
         $('.end-date select').attr('disabled', true);
         $('.end-date select').css("background-color", "#D9D8DD");
         $('.end-date select').css("color", "#D9D8DD");
         $('.end-date select').css("-moz-appearance", "none");  

       }
       else {
         $('.end-date select').attr('disabled', false);
         $('.end-date select').css("background-color", "white");
         $('.end-date select').css("color", "#333");   
       }
    }); 
}); 
</script>

和profile / edit.html.erb中的这个

<%= link_to_add_fields "Add another Experience" f, :experiences %>

一切正常,除非我使用复选框时我遇到了这个问题

1-当选中第一次体验的复选框时,体验和日期被禁用但所有其他体验和日期被禁用两次

2-只添加了第一个正在处理其他人的表单复选框,其中包含添加的链接无法正常工作

3-如果使用选中的复选框保存表单并尝试编辑它,我发现即使选中了复选框,也会启用体验和日期,而不会禁用

所以我想知道如何解决所有这些问题并感谢您的帮助

1 个答案:

答案 0 :(得分:0)

在提交时,POST中不会发送已禁用的元素表单。