在我的rails应用程序中,我在我的表单中有这两个字段,当我选中复选框时我试图禁用end_date字段,但是没有成功,所以我想知道如何实现这一目标? 这是我的表格
<%= f.date_select :end_date, start_year: 1945 %>
<%= f.check_box :is_current %>
答案 0 :(得分:5)
尝试将此添加到您的javascript文件中,它应该可以正常工作。
$( document ).ready(function() {
$("#checkBox_id").click(function() {
var isDisabled = $(#checkBox_id).prop('checked')
if(isDisabled) {
$("#endDate_id").removeAttr("disabled");
} else {
$("#endDate_id").prop('disabled', true)
}
});
});
答案 1 :(得分:0)
简单的JS
$(document).ready(function() {
return $("#dateCheck").click(function() {
return $("#endDate").prop("disabled", !this.checked);
});
});
和HTML
<body>
<input type="checkbox" id="dateCheck" unchecked/>
<input type="date" id="endDate" />
</body
答案 2 :(得分:0)
这应该有效。选中该复选框后,将禁用Rails中默认select
生成的每个date_select
字段。如果这仍然无法解决您的问题,请发布完整的表格,以便我们更好地了解您的问题。
$(document).ready(function() {
$("[id*='is_current']").click(function() {
var isCurrent = $(this).prop("checked");
var endDateSelects = $("[id*='end_date']");
if (isCurrent == true) {
endDateSelects.prop("disabled", "disabled");
}
else {
endDateSelects.prop("disabled", false);
}
});
});