单选按钮' undefined'值

时间:2016-07-05 20:07:28

标签: javascript jquery html

我遇到了问题 - 为什么这段代码不起作用?

<input type="radio" name="one" value="xxx" onclick="test()"/>
//below in the same file
<script>
    function test()
    {
        if (this.value=="xxx")
        {
            alert('ok');
        }   
    }               
    </script>

单击单选按钮后没有警报。当我试图显示单选按钮的值时 - 它显示未定义的&#39;,而不是&#39; xxx&#39; - 为什么?

欢呼声

2 个答案:

答案 0 :(得分:0)

 <input type="radio" name="one" value="xxx" onclick="test(this)"/>
<script>
    function test(radioItem)
    {
        if (radioItem.value=="xxx")
        {
            alert('ok');
        }   
    }               
    </script>

答案 1 :(得分:0)

它显示未定义,因为在单击输入时调用该函数,但该函数未绑定到输入,因此在调用时没有绑定到单击的元素,因此单击被触发,但是this未定义。尝试在输入中添加ID,然后将该功能绑定到click事件,如下所示:

&#13;
&#13;
<input id="testDiv" type="radio" name="one" value="xxx" />

<script>
  document.getElementById('testDiv').onclick = function() {
    if (this.value == "xxx") {
      alert('ok');
      alert(this.value);
    }
  }
</script>
&#13;
&#13;
&#13;