为了账号安全,请及时绑定邮箱和手机立即绑定

请教不知道哪里错了

 function checkone(){
            var j=document.getElementById("wb").value;
            /*var w=document.getElementById("hobby"+j);
            w.checked=true;
                */
            for(var i=0;i<hobby.length;i++)
            {
                if(i==j)
                {
                    hobby[j].checked=true;
                }
            }
         // 任务3
        
        }



这是哪里错了 我找不到错误

正在回答

1 回答

你没有定义hobby是什么啊,每个函数都要重新定义一下hoby,所以加上这句var hobby = document.getElementsByName("hobby");,但是这样序号是错开的,你填3,它会把第四个选上,因为记数是从0开始的,所以改成这样:

function checkone(){

            var j=document.getElementById("wb").value;

            var hobby = document.getElementsByName("hobby");

            for(var i=0;i<hobby.length;i++)

            {

                if(i==j)

                {

                    hobby[j-1].checked=true;

                }

            }

然后其实循环也是多余的,直接这样就行:

function checkone(){

            var j=document.getElementById("wb").value;

         

            var hobby = document.getElementsByName("hobby");

            

            hobby[j-1].checked = true;

        }


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468044    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

请教不知道哪里错了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信