我正在尝试在单击chceckbox时删除每个输入处禁用的属性。我能够打开这些输入,但是我将它们关闭时会出现问题。
<div class='single-service-<?php echo $row["id"]; ?>'>
<input type='checkbox'>
<label><?php printf ("%s", $row["service_name"]); ?></label>
<label>Ilość:</label><input type="number" name="quantity" value="<?php echo $row["quantity"]; ?>" placeholder='ILOŚĆ' disabled/>
<label>Cena netto:</label><input type="number" name="net_price" value="<?php echo $row["net_price"]; ?>" placeholder='CENA NETTO' disabled/>
</div>
var checkboxes = document.querySelectorAll("input[type='checkbox']");
for(var i=0; i < checkboxes.length; i++) {
checkboxes[i].addEventListener('click', function() {
var div = this.parentNode;
var x = div.childNodes;
for(y=0; y < x.length; y++) {
x[y].disabled = false;
}
}, false);
}
答案 0 :(得分:1)
你应该用
代替x[y].disabled = false;
if(x[y].type === "number") x[y].disabled = !x[y].disabled;
&#13;
或者如果您要禁用所有输入,包括您的复选框,只需使用x[y].disabled = !x[y].disabled;
。