У меня есть последовательность массивов в виде оценок отдельных вопросов, а затем массив для добавления оценки на основе оценок вопросов к основной оценке:
var totscore = 0
var subscore = 0
var _scores7 = [2, 1, 0];
var _scores8 = [3, 2, 1, 0];
var _scores9 = [3, 2, 1, 0];
var _scores10 = [2, 1, 0];
var _scores11 = [1, 0];
var _scores12 = [2, 1, 0];
var _scores13 = [2, 1, 0];
var subScores = [0, 1, 2, 3, 4, 5, 6];
Затем предполагается, что вопросы суммируют баллы в зависимости от ответов на переключателях:
if(document.getElementById("q7a").checked){
subscore += _scores7[0];
} else if(document.getElementById("q7b").checked){
subscore += _scores7[1];
} else if(document.getElementById("q7c").checked){
subscore += _scores7[2];
} else alert("Question seven has not been finished.");
if(document.getElementById("q8a").checked){
subscore += _scores8[0];
} else if(document.getElementById("q8b").checked){
subscore += _scores8[1];
} else if(document.getElementById("q8c").checked){
subscore += _scores8[2];
} else if(document.getElementById("q8d").checked){
subscore += _scores8[3];
} else alert("Question eight has not been finished.");
if(document.getElementById("q9a").checked){
subscore += _scores9[0];
} else if(document.getElementById("q9b").checked){
subscore += _scores9[1];
} else if(document.getElementById("q9c").checked){
subscore += _scores9[2];
} else if(document.getElementById("q9d").checked){
subscore += _scores9[3];
} else alert("Question nine has not been finished.");
if(document.getElementById("q10a").checked){
subscore += _scores10[0];
} else if(document.getElementById("q10b").checked){
subscore += _scores10[1];
} else if(document.getElementById("q10c").checked){
subscore += _scores10[2];
} else alert("Question ten has not been finished.");
if(document.getElementById("q11a").checked){
subscore += _scores11[0];
} else if(document.getElementById("q11b").checked){
subscore += _scores11[1];
} else alert("Question eleven has not been finished.");
if(document.getElementById("q12a").checked){
subscore += _scores12[0];
} else if(document.getElementById("q12b").checked){
subscore += _scores12[1];
} else if(document.getElementById("q12c").checked){
subscore += _scores12[2];
} else alert("Question twelve has not been finished.");
if(document.getElementById("q13a").checked){
subscore += _scores13[0];
} else if(document.getElementById("q13b").checked){
subscore += _scores13[1];
} else if(document.getElementById("q13c").checked){
subscore += _scores13[2];
} else alert("Question thirteen has not been finished.");
Предполагается, что полученная здесь оценка будет использоваться в следующем коде:
switch(true){
case (subscore == 0):
totscore += subScores[6];
break;
case (subscore >= 1 && subscore <= 3):
totscore += subScores[5];
break;
case (subscore >= 4 && subscore <= 6):
totscore += subScores[4];
break;
case (subscore >= 7 && subscore <= 8):
totscore += subScores[3];
break;
case (subscore >= 9 && subscore <= 11):
totscore += subScores[2];
break;
case (subscore >= 12 && subscore <= 14):
totscore += subScores[1];
break;
case (subscore == 15):
totscore += subScores[0];
break;
default:
alert(subscore);
Моя основная проблема заключается в том, что добавление подсчета не заканчивается там, где я хочу.
Когда вы выбираете ответы, которые должны дать вам ноль дополнительных баллов, вы получаете шесть. Когда вы отвечаете на вопросы, которые должны дать вам пятнадцать баллов, вы получаете ноль. Если вы ответите посередине, вы получите три или четыре.
subScore7
и, может быть, до8
? Я предполагаю, чтоsubscore
начинается с 0? - person Teepeemm   schedule 08.06.2016