如何在复选框中启用输入,如果我选中复选框? cuz它总是禁用当我检查输入类型复选框
问题描述:
如何启用输入复选框,如果我检查复选框?如何在复选框中启用输入,如果我选中复选框? cuz它总是禁用当我检查输入类型复选框
当我检查输入类型的复选框时,它总是禁用。
function ckChange(ckType) {
var ckName = document.getElementsByName(ckType.name);
var checked = document.getElementById(ckType.id);
if (checked.checked) {
for (var i = 0; i < ckName.length; i++) {
if (!ckName[i].checked) {
ckName[i].disabled = true;
} else {
ckName[i].disabled = false;
}
}
} else {
for (var i = 0; i < ckName.length; i++) {
ckName[i].disabled = false;
}
}
}
<input type="checkbox" placeholder="toBeReturn" name="progress" id="progress1" value="1" tabIndex="1" onClick="ckChange(this)"> For use in showroom to be return on
<input type="date" name="progress" id="progress3" placeholder="date">
<br/>
<input type="checkbox" placeholder="OnLoan" name="progress" id="progress2" value="1" tabIndex="1" onClick="ckChange(this)"> On Loan
<br/>
<input type="checkbox" placeholder="Other" name="progress" id="progress6" value="1" tabIndex="1" onClick="ckChange(this)"> Other
<input type="text" name="progress" id="progress3" placeholder="State the Purpose">
我需要帮助来完成我的项目,谢谢!
答
只需切换“if”和“else”语句中的相应内容即可。
此外,如果您在未选中复选框的情况下加载页面,还可以在文本输入中添加“已禁用”以使其匹配。
function ckChange(ckType) {
var ckName = document.getElementsByName(ckType.name);
var checked = document.getElementById(ckType.id);
if (checked.checked) {
for (var i = 0; i < ckName.length; i++) {
ckName[i].disabled = false;
}
} else {
for (var i = 0; i < ckName.length; i++) {
if (!ckName[i].checked) {
ckName[i].disabled = true;
} else {
ckName[i].disabled = false;
}
}
}
}
<th>
<input type="checkbox" placeholder="toBeReturn" name="progress" id="progress3" value="1" tabIndex="1" onClick="ckChange(this)"> For use in showroom to be return on <input type="date" name="progress" id="progress3" placeholder="date" disabled>
</th>
答
我认为问题是,你“的”说法,“为”语句匹配所有的检查boxs包括您选中的,你需要从再排除,所以你可能会这样尝试:
function ckChange(ckType) {
var ckName = document.getElementsByName(ckType.name);
var checked = document.getElementById(ckType.id);
if (checked.checked) {
for (var i = 0; i < ckName.length; i++) {
if(ckName[id].id !==checked.id){
ckName[i].disabled = false;
}
}
} else {
for (var i = 0; i < ckName.length; i++) {
if(ckName[id].id !==checked.id){
if (!ckName[i].checked) {
ckName[i].disabled = true;
} else {
ckName[i].disabled = false;
}
}
}
}
}