第三个问题这样可以吗?符合开发规范吗?
function checkone(){
var j=document.getElementById("wb").value;
var x=document.getElementsByName("hobby");
for(var i=1;i<x.length;i++){
if(j.indexOf(i)>-1){x[i-1].checked=true;}}var j=document.getElementById("wb").value;
// 任务3
var idStr="hobby"+j;
document.getElementById(idStr).checked=true;
非常简单啊,没有那么复杂,拿去吧,这是我写的
上面returnDocument(); 是进行了封装了的,代码如下:
function returnDocument(theId){
return document.getElementById(theId);
}不可以的,这样无法实现功能。
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。这里使用不符合。
参考代码:
function checkone(){
var getValue= document.getElementById("wb").value;
// 任务3
switch(getValue){
case '1': returnDocument("hobby1").checked = true;
break;
case '2': returnDocument("hobby2").checked = true;
break;
case '3': returnDocument("hobby3").checked = true;
break;
case '4': returnDocument("hobby4").checked = true;
break;
case '5': returnDocument("hobby5").checked = true;
break;
case '6': returnDocument("hobby6").checked = true;
break;
default:
alert("输入超出范围!");
break;
}
}不符合,变量名称必须有一定的含义,增加代码的可阅读性