我已经实现了这个,但问题是我还有一个全选复选框。当我检查该框时,所有框都被选中。但是未启用禁用的输入字段。当我手动勾选每个方框时,它会起作用。
以下是我选择全部的代码:
HTML:
<label class="fancy-checkbox element-left">
<input type="checkbox" onClick="toggleLinen(this)">
<span>Select All / Un-select All</span>
</label>
JS:
function toggleLinen(source) {
checkboxes = document.getElementsByClassName('workrequest');
for(var i=0, n=checkboxes.length;i<n;i++) {
checkboxes[i].checked = source.checked;
}
}
这是我的输入框启用脚本。默认情况下,输入文本字段被禁用:
HTML:
<div class="containerforitems">
<label class="fancy-checkbox element-left">
<input type="checkbox" class="workrequest checkboxcustom" name="btowel" id="btowel" {{ old('btowel') ? 'checked' : '' }}>
<span>Bath Towel</span>
</label>
<input type="number" min="0" class="workrequest amtcustom" name="btowelamt" id="btowelamt" value="{{ old('btowelamt') }}" disabled>
</div>
JS:
document.getElementById('ftowel').onchange = function() {
document.getElementById('ftowelamt').disabled = !this.checked;
};
就像我提到的那样,当我选择all时,它不会启用文本字段。但是当我手动勾选它时,它会起作用。