17 lines
670 B
JavaScript
17 lines
670 B
JavaScript
// SPDX-FileCopyrightText: 2024 Simon Bruder <simon@sbruder.de>
|
|
//
|
|
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
(() => {
|
|
// Allows a form checkbox to toggle an input element.
|
|
// This requires the form to have a structure like described in the bootstrap documentation:
|
|
// https://getbootstrap.com/docs/5.3/forms/input-group/#checkboxes-and-radios
|
|
const inputToggle = target => {
|
|
target.parentElement.parentElement.querySelector("input:not(.input-toggle)").disabled = !target.checked
|
|
}
|
|
Array.from(document.getElementsByClassName("input-toggle")).forEach(el => {
|
|
inputToggle(el)
|
|
el.addEventListener("change", e => inputToggle(e.target))
|
|
})
|
|
})()
|