Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果在页面加载和单击时勾选了复选框,则禁用输入_Javascript_Jquery_Checkbox_Input_Disabled Input - Fatal编程技术网

Javascript 如果在页面加载和单击时勾选了复选框,则禁用输入

Javascript 如果在页面加载和单击时勾选了复选框,则禁用输入,javascript,jquery,checkbox,input,disabled-input,Javascript,Jquery,Checkbox,Input,Disabled Input,我看了大量的问题,这些问题描述了如何检查复选框是否被选中,但没有一个给出我需要的答案。我想检查页面加载时是否选中该复选框,如果选中,则禁用输入。然后,我需要在页面加载后选中/取消选中该框时更改禁用的输入 这就是我所拥有的: jQuery(document).ready(function($) { if ($('.is-repeat-event').prop('checked')) { $('.event-date').prop('disabled', 'true' );

我看了大量的问题,这些问题描述了如何检查复选框是否被选中,但没有一个给出我需要的答案。我想检查页面加载时是否选中该复选框,如果选中,则禁用输入。然后,我需要在页面加载后选中/取消选中该框时更改禁用的输入

这就是我所拥有的:

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事件对输入没有影响)。

这是因为禁用属性需要设置为布尔真/假值。您还可以在绑定事件后触发该事件,以查看页面加载中的相关更改:

$('.is-repeat-event').change(function(){
   $('.event-date').prop('disabled', this.checked );
}).change();
尝试使用
触发器()

$(函数(){
$('.is repeat event')。on('change',函数(e){
$('.event date').prop('disabled',this.checked);
}).触发(“变更”);
});

重复
活动日期

如果你把true和false当作布尔值而不是字符串来处理,那就对了!谢谢:)谢谢你的提示,这样更好,但正是字符串阻止了代码的运行working@Ralphonz:很高兴这有帮助。别忘了投票并接受有帮助的答案