javascript - 始终检查输入单选元素结果

标签 javascript html

我已经搜索了所有关于它的网络,但我找不到没有 jquery 的 javascript 解决方案。问题如下:我有一个完整的 radio 元素数组,应该根据数据库数据检查或取消检查它们。这已经完成了。现在我必须使单选按钮“不可选中”才能通过表单更改数据库数据。

我尝试用纯 JavaScript 编写它,因为我暂时不想考虑前端库。

html 如下:

<td>
<input class="graphs" name="g4" value="S" defaultvalue="N" checked="true" type="radio">
</td>
<td>
<input class="graphs" name="g5" value="S" defaultvalue="N" type="radio">

Javascript 如下:

<script type="text/javascript">
    window.onload = (function(){
    return function(){
        var allRadios = document.getElementsByClassName('graphs');
        var x = 0;
        for(x = 0; x < allRadios.length; x++){

            allRadios[x].onclick = function() {
                if(this.checked == true){
                    this.checked = false;
                }else{
                    this.checked = true
                }
            };
        }
    }})();
    </script>

我尝试过调试,结果始终相同:第一个 if 被执行并且始终为 true,即使未检查该元素也是如此。

我在 jsfiddle 中尝试了相同的脚本,它工作正常。是我浏览器的问题吗?

提前致谢。

最佳答案

else block 中的

this.checked == true 不是赋值

关于javascript - 始终检查输入单选元素结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41725359/

相关文章:

javascript - 即使在 Flask WebApp 中状态为 200 后也无法打开页面

javascript - 拉伸(stretch) Div 上的过渡

javascript - 加载 ajax 内容之前的事件

javascript - JavaScript/Node 中如何调用它?

html - 响应超大屏幕图像

html - 应该在右键单击时选择按钮

javascript - 为什么我的 addEventListner 不能用作 onclick 事件

javascript - 将 Internet Explorer 8 及更低版本重定向到不同的网站

javascript - jQuery UI 自动完成 : Complete what I've typed after blur but before ajax request completes?

javascript - 使用 CSS 的移动设备触摸事件