使用javascript禁用复选框

Disable Checkbox with javascript

本文关键字:复选框 javascript 使用      更新时间:2023-11-07

在我的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-如果保存选中复选框的表格并尝试编辑它,我发现即使复选框被选中,体验和日期也被启用而不是禁用

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

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