@alex88a

Как менять текст при выборе инпута?

Нашел в интернете такой код
<input type="radio" name="nameRadio" value="1" checked="checked"/>
<input type="radio" name="nameRadio" value="20"/>
<input type="radio" name="nameRadio" value="300"/>
<input type="radio" name="nameRadio" value="400"/>
<output id="rezultatRadio">1</output>

<script>
window.onclick = function onclickRadio() {
  var nameRadio = document.getElementsByName('nameRadio');
  for (var i = 0; i < nameRadio.length; i++) {
    if (nameRadio[i].type === 'radio' && nameRadio[i].checked) {
        rezultatRadio = nameRadio[i].value;       
    }
  }
  document.getElementById('rezultatRadio').innerHTML = rezultatRadio;
}
</script>

Но он работает только на одной форме, а у меня на странице их несколько.
Как можно сделать, что бы при выборе инпута, менялся текст в своем блоке?
И вообще было бы идеально, если бы этот текст брался не из value, а из своего к примеру new_text:
<input type="radio" name="nameRadio" value="20" new_text="11111" />
  • Вопрос задан
  • 184 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Элементы output - вместо id назначьте им класс.

document.addEventListener('change', function(e) {
  if (e.target.type === 'radio') {
    e.target.closest('form').querySelector('.output').textContent = e.target.value;
  }
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы