读书人

刚学js,有个多选题的作业,哪位高手来帮

发布时间: 2012-05-30 20:20:04 作者: rapoo

刚学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如何运用逻辑?

另外 我的思路有问题吗?


[解决办法]

HTML code
<!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> 

读书人网 >JavaScript

热点推荐