JS操作Radiobutton简单的考试评分系统
昨天和前天CG做了一个简单的休息调整,感觉很好,今天跟大家报到下午查收邮件,关于一个JS的问题,问题大致如下:
一个认知风格测试,N道4选1的题目,A选项对应是0分,B对应是1分,CD类推,点击判分后,可以根据响应分数显示用户属于哪种风格,比如,0-10分属于A型,10-20分属于B型。
解决方法:以四个Radio为一组,然后依次遍历每一组中的radio,获取选中的值,根据值加分就好了,如果其中一组中没有选中答案,提示出错
JS代码如下:
var score; //定义分数 var rate = new Array();//定义分数数组 rate['A']=0; rate['B']=1; rate['C']=2; rate['D']=3; //定义题目数组,这里每一组题作为一个数组元素 var question = new Array("", "test1", "test2", "test3", "test4" ); //加分 function add(grade){ score += rate[grade]; } //输出 function output(){ if(score>=0 && score< =4) alert("First style"); else if(score >4 && score < =8) alert("second style"); else if(score >8 && score < =12) alert("third style"); else alert("error"); } //得到radio的值 function getRadioValue(radioName){ var obj=document.getElementsByName(radioName); for(var i=0;i<obj.length;i++){ if(obj[i].checked){ return obj[i].value; } } return ""; } function countScore(){ score = 0 ; //清空score //注意这里的i从1开始加 for(var i=1;i<question.length;i++){ var val=getRadioValue(question[i]); if(val !=""){ add(val);//加分 } else{//空答案,没有选择 alert("please choose your answer at question:" + question[i]); return; } } output(); } |
Demo演示地址:
http://www.lidaren.com/code/judge.htm
明天又要开始工作了,祝大家劳动节有个愉快的假期啊
Recent Comments