JavaScript:开关和检查单选按钮

JavaScript:开关和检查单选按钮

问题描述:

我编写了此代码以在单选按钮之间切换并显示我的自定义警报。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)必须在单选按钮使用“name”属性。否则,您将无法检查单选按钮。 2)你不能使用无线电[0]指向单选按钮。您可以为其分配一个ID并使用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"> 

radio[0]radio[1]在您的html中定义,但不在您的javascript中。您可以尝试使用JQuery或许多JavaScript选择器库中的一个。或者使用getElementById

你应该命名你的单选按钮,并从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"> 
+0

你有一个小bug在那里......“如果”语句需要==为平等检查,而不是单个'=' – Matt