From d73bbbcf6c7bfe7291ac1593004581df6c96b3c8 Mon Sep 17 00:00:00 2001 From: n-peugnet Date: Sun, 3 Nov 2019 15:51:41 +0100 Subject: feat: checkall checkbox in home page --- src/home.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/home.js (limited to 'src/home.js') diff --git a/src/home.js b/src/home.js new file mode 100644 index 0000000..b10e7c3 --- /dev/null +++ b/src/home.js @@ -0,0 +1,28 @@ +/** @type {HTMLInputElement[]} */ +let checkboxes = []; + +window.addEventListener('load', () => { + checkboxes = document.getElementsByName('id[]'); + let checkall = document.getElementById('checkall'); + let checkbox = document.createElement('input'); + checkbox.type = 'checkbox'; + checkbox.addEventListener('input', checkallHandler); + checkall.innerHTML = ''; + checkall.appendChild(checkbox); +}); + +/** + * Manage input event on the checkall checkbox. + * @param {InputEvent} e the input event + */ +function checkallHandler(e) { + if (e.target.checked) { + for (const checkbox of checkboxes) { + checkbox.checked = true; + } + } else { + for (const checkbox of checkboxes) { + checkbox.checked = false; + } + } +} -- cgit v1.2.3