Home > 语言编程 > JS操作Radiobutton简单的考试评分系统

JS操作Radiobutton简单的考试评分系统

昨天和前天CG做了一个简单的休息调整,感觉很好,今天跟大家报到下午查收邮件,关于一个JS的问题,问题大致如下:

一个认知风格测试,N道4选1的题目,A选项对应是0分,B对应是1分,CD类推,点击判分后,可以根据响应分数显示用户属于哪种风格,比如,0-10分属于A型,10-20分属于B型。

解决方法:以四个Radio为一组,然后依次遍历每一组中的radio,获取选中的值,根据值加分就好了,如果其中一组中没有选中答案,提示出错


JS代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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

明天又要开始工作了,祝大家劳动节有个愉快的假期啊

Categories: 语言编程 Tags: ,
  1. No comments yet.
  1. No trackbacks yet.