JavaScript: переключатель и проверка переключателя

#javascript #radio-button

#javascript #переключатель

Вопрос:

Я написал этот код для переключения между переключателями и отображения моего пользовательского оповещения.

 <script>
    function test() {
            if (radio[0].checked = true) {
                alert("hello1");
            }

            if (radio[1].checked = true) {
                alert("hello2");
            }
    }
</script>


<input type="radio" onclick="test()" value="0">
<input type="radio" onclick="test()" value="1">
  

При проверке любого из переключателей он должен показывать конкретное предупреждение.
Что не так?

Ответ №1:

Вы должны присвоить своим переключателям имена и вызывать их из javascript.

 <script>
    function test() {
        if (document.getElementById('radio1').checked == true) {
            alert("hello1");
        }

        if (document.getElementById('radio2').checked == true) {
            alert("hello2");
        }
    }
</script>


<input type="radio" id="radio1" onclick="test()" value="0">
<input type="radio" id="radio2" onclick="test()" value="1">
  

Комментарии:

1. У вас там небольшая ошибка … оператор «if» нуждается в == для проверки равенства вместо единственного ‘=’

Ответ №2:

Здесь вам нужно обратить внимание на две вещи: 1) Вы должны использовать атрибут ‘name’ в переключателе. В противном случае вы не сможете проверить переключатель. 2) Вы не можете использовать radio[0] для указания на переключатель. Вы можете присвоить ему идентификатор и использовать getElementById метод для его использования в Javascript. Другой простой способ — передать объект функции. Пожалуйста, обратитесь к приведенному ниже образцу кода:

 <script>
    function test(radioObj) {
        if(radioObj.value == "0")
            alert("Hello1");
        else if (radioObj.value == "1")
            alert("Hello2");
    }
</script>

<input type="radio" name="test" onclick="test(this)" value="0">
<input type="radio" name="test" onclick="test(this)" value="1">
  

Ответ №3:

radio[0] и radio[1] определены в вашем html, но не в вашем javascript. Вы можете попробовать использовать jQuery или одну из многих библиотек селекторов javascript. Или используйте getElementById