javascript - Jquery 在控制台中工作,但在复选框启用禁用的实际代码中不起作用

标签 javascript php jquery

我在点击时创建了一个复选框,用于启用/禁用日期字段

这是我的 jquery 代码:

$(document).ready(function() {
    $("#mychechbox").click(function(){
        $("#date_1").attr("disabled", !this.checked);
    });
});

我的 html 标签相同:

<input id="date_1" value="<?php echo $this->input->post('from');  ?>" name="from" class="form-control" type="date" placeholder=" From" disabled/>
<p class="pull-left" style="font-size:10px;">
    From Date<br><br>Enable Date fiedls
    <input type="checkbox" class="pull-left" id="mychechbox" name="mychechbox">
</p>
</div>
<div class="col-sm-2" >
    <input id="date_2" value="<?php  $to= $this->input->post('to');if($to){echo $to;}else{echo date('m/d/y'); }  ?>" name="to" class="form-control" type="date" placeholder=" To" disabled/>
    <p class="pull-left" style="font-size:10px;">End Date </p>
</div>

我在 Codeigniter 中执行此操作。

如果需要,请向我提出一些改进建议

最佳答案

为什么要使用 jQuery 并开始将 HTML5 与 jQuery 等已弃用(尚未过时)的框架混合?

仅 HTML5 + 纯 JS 示例: Enable/Disable input fields

如果你确实想使用 jQuery 不要使用点击,因为当您使用键盘选中/取消选中复选框时,它不会起作用。

改用change事件并验证复选框的当前状态,以确定是否已选中。

示例:

$(document).ready(function() {
  $("#mychechbox").change(function() {
    $("#date_1").prop("disabled", !this.checked);
  });
});

还可以使用 prop 而不是 attr 在输入字段上添加禁用属性。还建议使用带有 k#mycheckbox,而不是带有 h#mychechbox,以确保其他如果英语写得正确,人们就不会犯错。

关于javascript - Jquery 在控制台中工作,但在复选框启用禁用的实际代码中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58246208/

相关文章:

php - 如何使用元值查询数据库

php - laravel-4 如何更改日期格式

php - 使用 PDO for MySQL 时存储自动递增 ID

javascript - 想要使用 jQuery/JavaScript 将日期格式 24/05/2021 转换为 24/May/2021

Javascript全局变量简单解决方案

javascript - 在 Javascript 中检测 Ipad Iphone 上的隐藏键盘按钮

javascript - 全日历过滤

javascript - jquery如何控制浏览器选项卡变化

javascript - Ajax 错误 504 - SQL 存储过程保存和返回记录

php - 在 Postgresql 数据库中处理 NaN