刚学js,有个多选题的作业,谁来帮我看看思路对不对
老师给的作业题是这样的
多选题 选项为 A B C D
判分依据 1.选项全对为满分 2.选项中包括错误答案为零分 3.答案没选全为一半分
我的思路是这样的
//var正确答案为ABC
//事件1 answer"包含D"时 document.write返回信息为"得到0分"
//事件2 answer"为ABC"时 document.write返回信息为"得到100分"
//事件3 answer"不为ABC" 且 "不包含D" document.write返回信息为"得到50分"
现在我遇到的困难是
事件1与事件3如何运用逻辑?
另外 我的思路有问题吗?
[解决办法]
<!DOCTYPE HTML><html> <head> <meta charset="gb2312" /> <title></title> </head> <body> 比如 正确答案是 bcd <br /> A:<input type="checkbox" name="test" value="a" /> B:<input type="checkbox" name="test" value="b" /> C:<input type="checkbox" name="test" value="c" /> D:<input type="checkbox" name="test" value="d" /> <button id="btn">显示得分</button> <script> function $(el){ return typeof el == 'string' ? document.getElementById(el) : el; } var a = 'bcd'; //正确答案 var objs = document.getElementsByName('test'); $('btn').onclick = function(){ var re = []; for( var i = 0, len = objs.length; i < len; i++ ){ if( objs[i].checked ){ if( a.indexOf( objs[i].value ) == -1 ){ alert(0); return; } re.push(objs[i].value); } } re = re.join(''); if( re == a ){ alert(100); }else{ alert( 50 ); } } </script> </body></html>