题目题型为单选、多选和判断, 答案个数可能为1个或多个,需要将答案循环并且添加上相对应的颜色效果,红色为错误的,绿色为正确的。
var optionABCD = ['A','B','C','D','E','F','G','H'];
//选项单选多选循环判断
if(!torfanswer){ //不是判断题的情况
for(var i = 0;i<choiceoptinfo.length;i++){
//判断原理:如果自定义的optionABCD[i]答案循环与 数组choiceanswer 来判断,相同的就加上active,反之
if(optionABCD[i] == choiceanswer){//单选题选项
$(this).addClass('active');
optionhtml += '<div class="optionlistt active">'+
'<span class="fl">'+ optionABCD[i] + '、</span>' + choiceoptinfo[i]+'</div>';
}else{
//多选 现将数组转为字符串并与自定义的optionABCD[i]来对比
var index = $.inArray(optionABCD[i],choiceanswer);//多选题选项
if(index == -1){
optionhtml += '<div class="optionlistt">'+
'<span class="fl">'+ optionABCD[i] + '、</span>' + choiceoptinfo[i]+'</div>';
}else{
optionhtml += '<div class="optionlistt active"> '+
'<span class="fl">'+ optionABCD[i] + '、</span>' + choiceoptinfo[i]+'</div>';
}
}
};
}else{ //判断题 90为错误 10 为正确
if(torfanswer == 90){
optionhtml += '<div class="optionlistt"><span class="fl">A、</span>对</div>';
optionhtml += '<div class="optionlistt active"><span class="fl">B、</span>错</div>';
}else{
optionhtml += '<div class="optionlistt active"><span class="fl">A、</span>对</div>';
optionhtml += '<div class="optionlistt"><span class="fl">B、</span>错</div>';
}
}
$('[data-role="optionlist"]').append(optionhtml); //回填选项和答案
知识点:$.inArray()
判断值是否存在于数组中,不存在时返回-1
var index = $.inArray(optionABCD[i],choiceanswer);
判断optionABCD[i]
在不在 choiceanswer
数组里
//参数第一个为数组,第二个为需要判断是否存在于数组中的值
function isInArray(arr,val){
var str = ","+arr.join(",")+",";
if(str.indexOf(","+val+",") != "-1"){
//该数存在于数组中
arr.splice($.inArray(val,arr),1); //把该数从数组中删除
alert(arr);
}else{
//该数不存在于数组中
alert("不存在");
}
}
var arr = [1,28,60,80,6];
isInArray(arr,28);