我已经看过很多问题,这些问题描述了如何检查复选框是否被选中,但没有一个问题给出了我需要的答案。我想检查是否在页面加载时选中了复选框,如果是,则禁用输入。然后,在页面加载后选中/取消复选框时,需要更改禁用的输入。
这就是我所拥有的:
jQuery(document).ready(function($) {
if ($('.is-repeat-event').prop('checked')) {
$('.event-date').prop('disabled', 'true' );
}
$('.is-repeat-event').change(function(){
var d = this.checked ? 'true' : 'false';
$('.event-date').prop('disabled', d );
});
});
在它自己的作品中的任何一个部分,但是将它们放在一起都不起作用( .change事件对输入没有影响)。
发布于 2015-07-08 02:55:22
这是因为禁用的属性需要设置为布尔值true/false值。此外,还可以在绑定事件以查看页面加载中的相关更改之后触发该事件:
$('.is-repeat-event').change(function(){
$('.event-date').prop('disabled', this.checked );
}).change();
发布于 2015-07-08 02:58:13
尝试使用trigger()
$(function() {
$('.is-repeat-event').on('change', function(e) {
$('.event-date').prop('disabled', this.checked);
}).trigger('change');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div>
<label>Repeat
<input type='checkbox' class="is-repeat-event" checked='' />
</label>
</div>
Event Date
<input type='date' class="event-date" value="2015-07-12" />
https://stackoverflow.com/questions/31290553
复制相似问题