I have multiple fields in a form that each have a input range slider and a number input. I would like to update the individual number input field based on the range slider value. I was able to make this work for the first field with slider/number, but can't seem to make it work with the others. I would like to avoid having to write code for each form field, ideally would have this work dynamically.
Image of form fields (can only update the first)
HTML:
<div class="form-container">
<h2>Savings and Investments:</h2>
<div class="form-group">
Non-Registered investments (Taxable):
<span class="range-wrap">
<input type="range" class="form-range" min="0" max="5000000" step="5000" value="0" id="customRange">
<span class="number-input">
<span class="dollar-symbol">$</span>
<input type="number" id="demo" class="submit-taxable" value=0>
</span>
</span>
</div>
<div class="form-group">
Tax-free savings account (TFSA):
<span class="range-wrap">
<input type="range" class="form-range" min="0" max="5000000" step="5000" value="0" id="customRange">
<span class="number-input">
<span class="dollar-symbol">$</span>
<input type="number" id="demo" class="submit-tfsa" value=0 >
</span>
</span>
</div>
<div class="form-group">
Registered Retirement Savings (ex: RRSP):
<span class="range-wrap">
<input type="range" class="form-range" min="0" max="5000000" step="5000" value="0" id="customRange">
<span class="number-input">
<span class="dollar-symbol">$</span>
<input type="number" id="demo" class="submit-rrsp" value=0>
</span>
</span>
</div>
<div class="form-group">
Other:
<span class="range-wrap">
<input type="range" class="form-range" min="0" max="5000000" step="5000" value="0" id="customRange">
<span class="number-input">
<span class="dollar-symbol">$</span>
<input type="number" id="demo" class="submit-investment-other" value=0>
</span>
</span>
</div>
Javascript:
var slider = document.getElementById("customRange");
var output = document.getElementById("demo");
output.innerHTML = slider.value; // Display the default slider value
// Update the current slider value (each time you drag the slider handle)
slider.oninput = function() {
output.value = this.value;
}