我已经搜索了所有关于它的网络,但我找不到没有 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/