(() => { document.addEventListener("DOMContentLoaded", () => { // get all customnumberinput Elements let customNumberInputElements = document.getElementsByClassName("customnumberinput"); // Add Event Handler to the elements of the customnumberinputs [...customNumberInputElements].forEach(element => { // number input let numberFieldElement = element.getElementsByClassName("customnumberinput-field")[0]; // minus button element.getElementsByClassName("customnumberinput-minus")[0].addEventListener("click", () => alterCustomNumberField(numberFieldElement, -1)); // plus button element.getElementsByClassName("customnumberinput-plus")[0].addEventListener("click", () => alterCustomNumberField(numberFieldElement, +1)); }) }) function alterCustomNumberField(numberFieldElement, n) { numberFieldElement.value = Math.min( Math.max( (parseInt(numberFieldElement.value) + n), numberFieldElement.min || Number.MIN_VALUE ), numberFieldElement.max || Number.MAX_VALUE ); } })();