javascript - jQuery 在控制台中工作正常,但在现场不起作用
问题描述
我试图根据是否选中复选框来禁用文本输入。编写所需的 jQuery 并在控制台中尝试后,结果非常完美。但是,当将其添加到站点页脚时,页面会加载,就好像 jQuery 尚未执行一样。
jQuery(document).ready(function() {
jQuery('form input[name="custom_checkbox"]').attr('checked', false)
jQuery('form input[name="company"]').prop("disabled", true);
jQuery('form input[name="custom_checkbox"]').click(function() {
if (jQuery(this).prop("checked") == true) {
jQuery('form input[name="company"]').prop("disabled", false);
} else if (jQuery(this).prop("checked") == false) {
jQuery('form input[name="company"]').prop("disabled", true);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input type="checkbox" name="custom_checkbox">
<input type="text" name="company">
</form>
理想情况下,我希望取消选中复选框并在页面加载时禁用文本字段。然后,如果用户选中该框,则将启用文本字段。
当前页面加载时:
- 复选框未选中 + 文本字段已启用
- 如果我选中该框,则该字段保持启用状态
- 如果我然后取消选中该框,则该字段将启用
因此,在单击预期功能发生但加载时,默认值是错误的。
有人知道我在这里做错了什么吗?
解决方案
推荐阅读
- dart - 如何在 Dart 中捕获“IterableElementError.noElement”?
- sql - SQL 查询 - 多次运行查询,但使用不同的可变日期
- python - 获取每个组合的出现次数
- unit-testing - Nestjs overrideProvider 与单元测试中的提供者
- ios - iOS 中的 use_framework 错误
- c# - 我可以像在 asp.net core mvc 中一样使用服务在 blazor 中操作 dbcontext 吗?
- gnome - gnome可以通过api调用桌面菜单吗?
- php - Laravel htmlspecialchars() 期望参数 1 是字符串,给定对象
- excel - 如何根据SSRS中的参数在excel的不同工作表中显示不同的表格
- android - MPAndroidChart:使用 YAxisLabelPosition.INSIDE_CHART 移动轴标签