js有几种判断单选按钮是否被选中的方法。
如下参考:
1,首先,打开HTML编辑器100年,新的HTML文件,如:索引。html输入问题的代码,如下所示。
2、在index.html中的度<script>标签,输入js代码:
if($("input[type='radio']:checked").val()){
$('body').append('被选中');
}else{
$('body').append('未被选中');
}
3.当浏览器运行指数,html页面,js输出判断结果是否选择电台,如下列图所示。
我只能说,你这逻辑明显不对,你应该是要为每一个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>