javascript 怎么获得单选框值

JavaScript07

javascript 怎么获得单选框值,第1张

1、 给单选框设置相应的 name

2、 获取所有的单选框,循环判断,示例代码如下:

// 获取指定 name 的单选框的值

function getValueForRadio(name) {

    // 获取所有的 input 元素

    var nodes = document.getElementsByTagName('input')

    // 循环判断

    for (var i=0 i<nodes.length i++) {

        // 如果类型是 radio,name 也符合要求,而且也被选中了

        if (nodes[i].type==='radio' && nodes[i].name===name && nodes[i].checked) {

            //返回相应的值

            return nodes[i].value

        }

    }

}

3、 在你需要的地方,用合适的参数调用上面的函数 getValueForRadio 即可。

以上,请采纳,请给分。

我只能说,你这逻辑明显不对,你应该是要为每一个radio控件绑定onclick事件,点击的时候alert一下。

你的代码有几个错误。

1、getElementsByName("radios")返回的是一个数组,你不能为一个数组对象绑定onclick事件

2、循环绑定js的onclick事件,需要借用闭包或者函数的方式,否则绑定的onclick事件都会是最后一个对象的方法。

以下是我用闭包的方式解决你的绑定方法,你可以看一下,把你的所有js去掉,页面不变,js换成如下代码:

<script type="text/javascript">

    var box = document.getElementsByName("radios")

    // 循环为每个 radio 绑定 onclick 事件

    for (var i = 0 i < box.length i++) {

        (function() {

            var boxone = box[i]

            box[i].onclick = function() {

                // 如果当前的 radio 被选中,则 alert 他的 value

                if (boxone.checked) {

                    alert(boxone.value)

                } 

            }

        })()

    }  

</script>