Простой код, но блоков может быть много. Как оптимизировать?
ch1.onclick = function() {
if (ch1.checked) { document.getElementById('lab1').disabled = false; }
else { document.getElementById('lab1').disabled = true; }
};
ch2.onclick = function() {
if (ch2.checked) { document.getElementById('lab2').disabled = false; }
else { document.getElementById('lab2').disabled = true; }
};
function CheckBoxChange(aCheckbox, aLabelId) {
if (aCheckbox.checked) {
document.getElementById(aLabelId).disabled = false;
} else {
document.getElementById(aLabelId).disabled = true;
}
};
ch1.onclick = function() { CheckBoxChange(this, 'lab1'); };
ch2.onclick = function() { CheckBoxChange(this, 'lab2'); };
объединил предыдущие коменты:
function makeCheckBoxChange(aCheckbox, aLabelId) {
return function () {
document.getElementById(aLabelId).disabled = !(aCheckbox.checked);
};
}
ch1.onclick = makeCheckBoxChange(ch1, 'lab1');
ch2.onclick = makeCheckBoxChange(ch2, 'lab2');
Сборка персонального компьютера от Artline: умный выбор для современных пользователей