function checkone(){
var j=document.getElementById("wb").value;
switch(j)
{
case 1:
hobby1.checkbox=true;
break;
case "2":
hobby2.checkbox=true;
break;
case "3":
hobby3.checkbox=true;
break;
case "4":
hobby4.checkbox=true;
break;
case "5":
hobby5.checkbox=true;
break;
case "6":
hobby6.checkbox=true;
break;
}
// 任务3
function checkone(){ var j=document.getElementById("wb").value; switch(j) { case 1: hobby1.checkbox=true; break; case "2": hobby2.checkbox=true; break;
截取了你的一小段代码。
第一, case 1 这个地方,1 最好加上引号,字符串类型。
第二,直接 hobby1.checkbox=true; 是不行的,需要先获取到相应 id 的对象,就拿 id 为 1 来举例,如下:
document.getElementById("hobby1").checked = true;
这里设置选中的属性是 checked,而不是 checkbox。
另外,其实这里不需要用 switch,直接这样写就可以:
document.getElementById("hobby"+j).checked = true;
因为 6 个复选框的 id 是 hobby1 到 hobby6,是有规律的,直接把 j 拼到 "hobby" 后面就行。
switch()中获取的值可直接配对case中对应的结果更为方便快捷,响应机制会跟快。用for循环加if判断这些可能就麻烦了,方法很多,就是用简单的更好