好像这样写也可以
function checkone(){
var j=document.getElementById("wb").value;
var hobby = document.getElementsByName("hobby");
hobby[j-1].checked = true;
}
但是为啥很多人这样写呢
function checkone(){
var j=document.getElementById("wb").value;
if(parseInt(j)>6||parseInt(j)<1)
{
alert("请输入1-6之间的数字");
}
var hobby=document.getElementsByName("hobby");
hobby[parseInt(j)-1].checked=true;
}
中间的判断是为了提示用户正确输入的,把中间的判断去掉的话,下面的答案只是多了一步parseInt()解析字符串而已。个人认为这一步是不必要的,因为不设定基数的话有可能会解析出错。
附上我的答案:
function checkone(){
var j=document.getElementById("wb").value;
document.getElementById("hobby"+j).checked = true;
}