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

比如选项有12个时候,填入选项为12,则会选择第一个和第二个,为什么呢?

比如选项有12个时候,填入选项为12,则会选择第一个和第二个,为什么呢?

慕斯卡0901352 2017-07-21 11:12:26
如果是for造成的,那我如何写才能输入12选择第12个,且输入12,2选择第12个和第2个呢?<!DOCTYPE HTML> <html>     <head>         <meta http-equiv="Content-Type" content="text/html; charset=gb2312">         <title>无标题文档</title>     </head>          <body>         <form>           请选择你爱好:<br>           <input type="checkbox" name="hobby" id="hobby1">  音乐           <input type="checkbox" name="hobby" id="hobby2">  登山           <input type="checkbox" name="hobby" id="hobby3">  游泳           <input type="checkbox" name="hobby" id="hobby4">  阅读<br />           <input type="checkbox" name="hobby" id="hobby5">  打球           <input type="checkbox" name="hobby" id="hobby6">  跑步           <input type="checkbox" name="hobby" id="hobby7">  音乐           <input type="checkbox" name="hobby" id="hobby8">  登山<br />           <input type="checkbox" name="hobby" id="hobby9">  游泳           <input type="checkbox" name="hobby" id="hobby10">  阅读           <input type="checkbox" name="hobby" id="hobby11">  打球           <input type="checkbox" name="hobby" id="hobby12">  跑步<br />           <input type="button" value = "全选" onclick = "checkall();">           <input type="button" value = "全不选" onclick = "clearall();">           <p>请输入您要选择爱好的序号,序号为1-6:</p>           <input id="wb" name="wb" type="text" >           <input name="ok" type="button" value="确定" onclick = "checkone();">         </form>         <script type="text/javascript">         function checkall(){             var hobby = document.getElementsByTagName("input");             for(var i=0;i<hobby.length;i++){                 hobby[i].checked=true;             }           // 任务1                      }         function clearall(){             var hobby = document.getElementsByName("hobby");             for(var i=0;i<hobby.length;i++){                 hobby[i].checked=false;             }          // 任务2                          }                  function checkone(){             clearall();             var hobby = document.getElementsByName("hobby");             var j=document.getElementById("wb").value;             for(var i=0;i<j.length;i++){                 if(j.charAt(i)>13 || j.charAt(i)<1){                     alert("没有这个选项呢!请重新选择~(>w<)~");                     document.getElementById("wb").value="";                 }             }                 for(var n=0;n<j.length;n++){                     hobby[(j.charAt(n))-1].checked=true;                  }          // 任务3            }                  </script>     </body> </html>
查看完整描述

3 回答

已采纳
?
李晓健

TA贡献1036条经验 获得超461个赞

function checkone(){
    clearall();
    var hobby = document.getElementsByName("hobby");
    var j=document.getElementById("wb").value;
    var values = j.split(',');
    for(var i=0;i<values.length;i++){
        var value = parseInt(values[i]);
        if(value>13 || value<1){
            alert("没有这个选项呢!请重新选择~(>w<)~");
            document.getElementById("wb").value="";
        }else{
            hobby[value-1].checked=true;
        }
    }
}

你可以这样试一下

查看完整回答
1 反对 回复 2017-07-21
  • 慕斯卡0901352
    慕斯卡0901352
    感谢你的回答,解决了输入12能选择第12个选项的问题。 但是还是没有解决我想要输入12,2选择第12个和第2个的功能呢|゚∀゚ ) 。
  • 李晓健
    李晓健
    我的应该是实现了的吧
  • 慕斯卡0901352
    慕斯卡0901352
    是我看错了,不好意思。
?
隔壁老伍丶

TA贡献15条经验 获得超6个赞

function checkone()
{
            clearall();
            var hobby = document.getElementsByName("hobby");
            var j=document.getElementById("wb").value;

	    if(j<1 || j>=13)
	    {
		alert("没有这个选项呢!请重新选择~(>w<)~");
                document.getElementById("wb").value="";
		return;
	    }

            hobby[j-1].checked=true;  
 }


查看完整回答
反对 回复 2017-07-21
  • 慕斯卡0901352
    慕斯卡0901352
    感谢你的回答,解决了输入12能选择第12个选项的问题。 但是还是没有解决我想要输入12,2选择第12个和第2个的功能呢(ノ∀` ) 。
  • 3 回答
  • 0 关注
  • 1560 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信