首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如果在页面加载和单击时勾选复选框,则禁用输入。

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

Stack Overflow用户
提问于 2015-07-08 02:53:25
回答 2查看 85关注 0票数 0

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

这就是我所拥有的:

代码语言:javascript
运行
AI代码解释
复制
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事件对输入没有影响)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-08 02:55:22

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

代码语言:javascript
运行
AI代码解释
复制
$('.is-repeat-event').change(function(){
   $('.event-date').prop('disabled', this.checked );
}).change();
票数 2
EN

Stack Overflow用户

发布于 2015-07-08 02:58:13

尝试使用trigger()

代码语言:javascript
运行
AI代码解释
复制
$(function() {
  $('.is-repeat-event').on('change', function(e) {
    $('.event-date').prop('disabled', this.checked);
  }).trigger('change');
});
代码语言:javascript
运行
AI代码解释
复制
<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" />

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31290553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文