From c317ce63ce1335954f3670edc808636025e5a697 Mon Sep 17 00:00:00 2001 From: Ari Date: Fri, 28 Jul 2023 02:06:32 -0400 Subject: [PATCH] Update disable-element.js Allow selection of multiple elements for toggling --- src/ext/disable-element.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/ext/disable-element.js b/src/ext/disable-element.js index 3493d811a..6ecda9844 100644 --- a/src/ext/disable-element.js +++ b/src/ext/disable-element.js @@ -5,12 +5,14 @@ htmx.defineExtension('disable-element', { onEvent: function (name, evt) { let elt = evt.detail.elt; let target = elt.getAttribute("hx-disable-element"); - let targetElement = (target == "self") ? elt : document.querySelector(target); + let targetElements = (target == "self") ? elt : document.querySelectorAll(target); - if (name === "htmx:beforeRequest" && targetElement) { - targetElement.disabled = true; - } else if (name == "htmx:afterRequest" && targetElement) { - targetElement.disabled = false; - } + targetElements.forEach(targetElement => { + if (name === "htmx:beforeRequest" && targetElement) { + targetElement.disabled = true; + } else if (name == "htmx:afterRequest" && targetElement) { + targetElement.disabled = false; + } + }); } -}); \ No newline at end of file +});