В форме HTML у меня есть следующий раздел, в котором я хочу действовать как переключатели, но отображаются как обычные кнопки.
<span>Minimum Skill Level:</span><br />
<input type='button' id='skMin1' class='btn-sm' name='skMin' value='1' checked>
<input type='button' id='skMin2' class='btn-sm' name='skMin' value='2'>
<input type='button' id='skMin3' class='btn-sm' name='skMin' value='3'>
<input type='button' id='skMin4' class='btn-sm' name='skMin' value='4'>
<input type='button' id='skMin5' class='btn-sm' name='skMin' value='5'>
Делая имя одинаковым для всех кнопок в группе, они действуют как переключатели, когда нажатие на секунду отменяет выбор первой.
У меня есть раздел JavaScript, который добавляет слушателя к каждой кнопке и сохраняет значение. Изменяет цвет фона кнопки, чтобы показать, что она выбрана.
let radioButton1 = document.querySelectorAll("[name=skMin]").forEach(function(e) {
e.addEventListener('click', () => {
e.style.background = 'cyan';
drillSession.skillMin = e.value;
})
})
Похоже, что я хочу, и я получаю данные просто отлично, но есть одна большая проблема. Нажатие на вторую кнопку в группе меняет значение, но я не могу понять, как отменить выделение ранее выбранной опции, чтобы пользователь не смутился, увидев несколько подсвеченных кнопок.
Есть предложения?