请高人指点,为什么radio是选中状态但是判断checked总是false???
我动态生成了radio,代码如下
"<span ><input id='"+ tmp1+ "' name='"+ index+ "' type='radio' value='1' " + (cmp == 1 ? "checked=true":"")+ ">主要</input></span>"
"<span ><input id='"+ tmp2+ "' name='"+ index+ "' type='radio' value='0' "+ (cmp == 0 ? "checked=true": "") + ">次要</input></span>"
以上代码是在一个for循环内生成的,即每两个radio是在一行内,id不同,name相同,并且根据变量cmp设置了初始选中状态
这是我获得radio的checked的代码,axisId是上面的"主要"radio的id值
var x==document.getElementById(axisId);
if (x.checked)
{
.......
}
我发现即使radio初始状态就是选中的情况下,checked还是为false,郁闷中...
------解决方案--------------------var x==document.getElementById(axisId);
改成这样试试
var x = document.getElementById("axisId");
------解决方案--------------------你的axisId有问题罗,获取到的对象就是没有勾选的
var s=''
for (var index = 0; index < 2; index++) {
cmp = index;
s += "<span ><input id='" + index + "_1' name='" + index + "' type='radio' value='1' " + (cmp == 1 ? "checked=true" : "") + ">主要</input></span>"
+ "<span ><input id='" + index + "_2' name='" + index + "' type='radio' value='0' " + (cmp == 0 ? "checked=true" : "") + ">次要</input></span>"
}
document.write(s)
var x = document.getElementById('0_2');
alert(x.checked)//true
x = document.getElementById('1_1');
alert(x.checked)//true