JavaScript 单选按钮问题

JavaScript radio button issues

本文关键字:问题 单选按钮 JavaScript      更新时间:2023-09-26

我需要从 5 张图像制作图像库。图像必须由一个人通过不同的单选按钮选择和显示。不允许使用提交按钮。所以直到现在,我还是按图像名称编写了图像输出的代码。默认数字为 0=第一个图像。但问题是,当我单击不同的单选按钮时,我的函数没有输出新数字,也没有使单选检查="检查"。

我的职能:

function radiocheck()
{
    for (var i=0; i < 5; i++)
    {
        if (document.forms[1].elements[i].checked=="true")
        {
            var whichISchecked = document.forms[1].elements[i].value;
            for (var z=0; z<i; z++)
            {
                document.forms[1].elements[z].checked="unchecked";
            }
            for (var z=i; z<5; z++)
            {
                document.forms[1].elements[z].checked="unchecked";
            }
        }
        else 
        {   
            document.forms[1].elements[0].checked="checked";
            var whichISchecked = document.forms[1].elements[0].value;
        }
    }
    return whichISchecked;
}

单选按钮应该自行处理检查和取消选中。考虑以下代码(也在 http://jsfiddle.net/87wkC/1/)

<form id="f">
<input type="radio" value="1" onclick="getValue(this.value)" name="field1">A<br>
<input type="radio" value="2" onclick="getValue(this.value)" name="field1">B<br>
<input type="radio" value="3" onclick="getValue(this.value)" name="field1">C<br>
<input type="radio" value="4" onclick="getValue(this.value)" name="field1">D<br>
<input type="radio" value="5" onclick="getValue(this.value)" name="field1">E<br>
</form>
<div id="result"></div>
<script>
function getValue(a){
    document.getElementById("result").innerHTML = a
}
</script>

单击一个选项按钮会清除其他按钮(通过给它们所有相同的name来处理),并使其值可用 — 函数输出列表下方的值。

将未选中的字符串更改为 false

document.forms[1].elements[z].checked="unchecked";

document.forms[1].elements[z].checked=false;

document.forms[1].elements[i].checked=="true"

不应该像

document.forms[1].elements[i].checked===true 

a) 使用 jQuery,事情会容易得多

b) 您应该检查

checked == true

而不是

checked == "true"

checked = "checked" 

不会做任何事情,它只是一个真/假值