选中复选框时启用Javascript输入类型,未选中复选框则禁用
Javascript Enabled input type when checkbox checked and disable when checkbox unchecked
我的javascript在这里:
function enable(id) {
var i = (document.getElementById('haha').checked);
if(i= true) {
document.getElementById("nama_"+id).disabled= false;
document.getElementById("ket_"+id).disabled= false;
}else{
document.getElementById("nama_"+id).disabled= true;
document.getElementById("ket_"+id).disabled= true;
}
}
当我选中复选框时,文本框将启用,但当我取消选中时,该文本框仍然启用,我希望在取消选中后禁用该文本框。我该如何解决这个问题?
=
是赋值(设置变量的值),因此if (i = true)
将i
设置为true
,然后分支到if
块中。要进行比较,通常使用==
或===
,但对于布尔值,这是不必要的;只需直接检查值:
if (i) {
// Enable it
} else {
// Disable it
}
不过,在这种情况下,您可以直接使用i
:
document.getElementById("nama_"+id).disabled = !i;
document.getElementById("ket_"+id).disabled = !i;
在您的checked
支票周围也不需要()
。
我可能会这样做:
function enable(id) {
var disabled = !document.getElementById('haha').checked;
document.getElementById("nama_"+id).disabled = disabled;
document.getElementById("ket_"+id).disabled = disabled;
}
在那里,我得到复选框的值并将其反转,然后将其用作其他输入的disabled
标志。我会这样做,因为它很好而且很容易调试,当我遍历代码时,我可以很容易地在调试器中看到disabled
值。
有些人真的非常喜欢用一种表达方式做事。(我认为这被高估了。)他们可能会这样做:
function enable(id) {
document.getElementById("nama_"+id).disabled =
document.getElementById("ket_"+id).disabled =
!document.getElementById('haha').checked;
}
因为赋值的结果就是赋值的值。
function chkBox(obj) {
console.log(obj);
$(obj).parents("tr").find("input[type='number']").prop('disabled', !$(obj).is(":checked"));
$(obj).parents("tr").find("input[type='hidden']").prop('disabled', !$(obj).is(":checked"));
}
调用函数并传递它。
onclick="chkBox(this)"
相关文章:
- 根据复选框输入过滤深层对象
- 将复选框输入组映射到AngularJS数组
- 在angularjs复选框输入中更新ng模型或执行ng更改之前需要确认
- 将复选框输入从PHP传递到JavsScript
- 如何将 jQuery has() 与复选框输入一起使用
- Javascript 数据仅提取数组的第一项,该数组放入使用 iCheck 复选框输入的数据名称字段中
- 如何从复选框输入发送多个值
- 引导开关不适用于动态创建的复选框输入
- 在提交之前将一堆复选框输入附加到表单,然后隐藏它们
- 在 JavaScript 中分解复选框输入值
- 如何将自定义切换控件附加到复选框输入
- 显示基于HTML 5复选框输入的项目
- 如何循环浏览页面上的所有单选或复选框输入,并返回返回的值组合
- Angularjs ng禁用了几个复选框输入按钮
- 多个复选框输入到文本区域 - 添加文本 - 从文本区域中删除文本
- 不发送隐藏复选框输入值:(
- 如何循环通过单选/复选框输入,并将选中的id推送到数组
- Angular的复选框输入ng-click从未被调用
- 复选框输入的布尔值
- 表单与复选框输入字段,反之亦然-缺少第一个值