我需要从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;
}
答案 0 :(得分:1)
单选按钮应该自己处理检查和取消选中。请考虑此代码(也在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
来处理)并使其值可用 - 函数输出列表下方。
答案 1 :(得分:0)
将未经检查的字符串更改为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
答案 2 :(得分:0)
a)使用jQuery,事情会变得更容易
b)你应该检查
checked == true
而不是
checked == "true"
和
checked = "checked"
不做任何事情,它只是一个真/假值