Я делаю табличную форму, в которой пользователь будет настраивать несколько ползунков в таблице. Я хочу обновить значение, которое будет отображаться на экране для каждого ползунка. Я пытался сделать это с помощью getElementsByClassName
, но когда я настраиваю один ползунок, выходное значение отображается на всех других ползунках. Думаю, я могу назначить идентификатор каждому слайдеру (их около 20), но мне было интересно, есть ли более эффективный способ сделать это.
Вот пример html-кода для входных данных таблицы:
<form>
<table>
<tr>
<th rowspan="5" id="A"></th>
<td></td>
<td><input type="range" min="0" max="10" value="5" step="1" onChange="sliderChange(this.value)"/><br />Current Value: <span class="sliderStatus">5</span></td>
<td></td>
<td><input type="range" min="0" max="10" value="5" step="1" onChange="sliderChange(this.value)"/><br />Current Value: <span class="sliderStatus">5</span></td>
</tr>
<tr>
<td></td>
<td><input type="range" min="0" max="10" value="5" step="1" onChange="sliderChange(this.value)"/><br />Current Value: <span class="sliderStatus">5</span></td>
<td></td>
<td><input type="range" min="0" max="10" value="5" step="1" onChange="sliderChange(this.value)"/><br />Current Value: <span class="sliderStatus">5</span></td>
</tr>
<tr>
<td></td>
<td><input type="range" min="0" max="10" value="5" step="1" onChange="sliderChange(this.value)"/><br />Current Value: <span class="sliderStatus">5</span></td>
<td></td>
<td><input type="range" min="0" max="10" value="5" step="1" onChange="sliderChange(this.value)"/><br />Current Value: <span class="sliderStatus">5</span></td>
</table>
</form>
и JS-код:
//called when the user clicks the start button on the home page.
function start(){
var decisionA = prompt("Enter A:","");
var decisionB = prompt("Enter B:","");
//send user prompt inputs to A and B cells in the table<th>.
document.getElementById('A').innerHTML = decisionA;
document.getElementById('B').innerHTML = decisionB;
}
function sliderChange (val){
var sliders = document.getElementsByClassName('sliderStatus');
for (i = 0; i < sliders.length; i++){
sliders[i].innerHTML = val;
}
}
Есть ли способ заставить текст значения ползунка отображать скорректированное значение ползунка для каждого отдельного ползунка в таблице, используя getElementsByClassName
, или мне нужно назначить 20 разных идентификаторов для всех ползунков? Спасибо.