I plan to do an online pure front-end questionnaire. There are ten questions in total. Choosing A will get one point, choosing B will get two points, choosing C will get three points, and choosing D will get four points. Then the results will pop up directly at the end. The problem I am currently encountering is that after a user chooses A in the first question, if he later changes his answer to B, his score will not be deducted by one point and then re-added by two points. What method can be used? solve this problem? Thanks
<body>
<!-- 第一页 -->
<section class="page1">
<p class="swipers logo">
<p class="welcome">
<h3>主标题</h3>
<p>副标题</p>
</p>
<a href="#" class="start">开始测试</a>
</p>
</section>
<!-- 第二页 -->
<section class="page2">
<header class="head">
<p class="swiper-pagination swiper-pagination-bullets pagination">
</p>
</header>
<p class="swipers">
<p class="swiper-container swiper-container-horizontal">
<p class="swiper-wrapper">
<!-- 问题1 -->
<p class="swiper-slide">
<p class="question">
<h3>1</h3>
</p>
<p class="choice">
<label>
<input type="radio" class="a" name="1" value="1"><span class="aFont">aaaaa</span>
</label>
<label>
<input type="radio" class="b" name="1" value="2"><span class="bFont">bbbbb</span>
</label>
<label>
<input type="radio" class="c" name="1" value="3"><span class="cFont">ccccc</span>
</label>
<label>
<input type="radio" class="d" name="1" value="4"><span class="dFont">ddddd</span>
</label>
</p>
</p>
<!-- 问题2 -->
<p class="swiper-slide">
<p class="question">
<h3>2</h3>
</p>
<p class="choice">
<label>
<input type="radio" class="a" name="2">a
</label>
<label>
<input type="radio" class="b" name="2">b
</label>
<label>
<input type="radio" class="c" name="2">c
</label>
<label>
<input type="radio" class="d" name="2">d
</label>
</p>
</p>
<!-- 问题3 -->
<p class="swiper-slide">
<p class="question">
<h3>3</h3>
</p>
<p class="choice">
<label>
<input type="radio" class="a" name="3">a
</label>
<label>
<input type="radio" class="b" name="3">b
</label>
<label>
<input type="radio" class="c" name="3">c
</label>
<label>
<input type="radio" class="d" name="3">d
</label>
</p>
</p>
<!-- 问题4 -->
<p class="swiper-slide">
<p class="question">
<h3>4</h3>
</p>
<p class="choice">
<label>
<input type="radio" class="a" name="4">a
</label>
<label>
<input type="radio" class="b" name="4">b
</label>
<label>
<input type="radio" class="c" name="4">c
</label>
<label>
<input type="radio" class="d" name="4">d
</label>
</p>
</p>
<!-- 问题5 -->
<p class="swiper-slide">
<p class="question">
<h3>5</h3>
</p>
<p class="choice">
<label>
<input type="radio" class="a" name="5">a
</label>
<label>
<input type="radio" class="b" name="5">b
</label>
<label>
<input type="radio" class="c" name="5">c
</label>
<label>
<input type="radio" class="d" name="5">d
</label>
</p>
</p>
<!-- 问题6 -->
<p class="swiper-slide">
<p class="question">
<h3>6</h3>
</p>
<p class="choice">
<label>
<input type="radio" class="a" name="6">a
</label>
<label>
<input type="radio" class="b" name="6">b
</label>
<label>
<input type="radio" class="c" name="6">c
</label>
<label>
<input type="radio" class="d" name="6">d
</label>
</p>
</p>
<!-- 问题7 -->
<p class="swiper-slide">
<p class="question">
<h3>7</h3>
</p>
<p class="choice">
<label>
<input type="radio" class="a" name="7">a
</label>
<label>
<input type="radio" class="b" name="7">b
</label>
<label>
<input type="radio" class="c" name="7">c
</label>
<label>
<input type="radio" class="d" name="7">d
</label>
</p>
</p>
<!-- 问题8 -->
<p class="swiper-slide">
<p class="question">
<h3>8</h3>
</p>
<p class="choice">
<label>
<input type="radio" class="a" name="8">a
</label>
<label>
<input type="radio" class="b" name="8">b
</label>
<label>
<input type="radio" class="c" name="8">c
</label>
<label>
<input type="radio" class="d" name="8">d
</label>
</p>
</p>
<!-- 问题9 -->
<p class="swiper-slide">
<p class="question">
<h3>9</h3>
</p>
<p class="choice">
<label>
<input type="radio" class="a" name="9">a
</label>
<label>
<input type="radio" class="b" name="9">b
</label>
<label>
<input type="radio" class="c" name="9">c
</label>
<label>
<input type="radio" class="d" name="9">d
</label>
</p>
</p>
<!-- 问题10 -->
<p class="swiper-slide">
<p class="question">
<h3>10</h3>
</p>
<p class="choice">
<label>
<input type="radio" class="a" name="10">a
</label>
<label>
<input type="radio" class="b" name="10">b
</label>
<label>
<input type="radio" class="c" name="10">c
</label>
<label>
<input type="radio" class="d" name="10">d
</label>
</p>
</p>
<!-- 问题11 -->
<p class="swiper-slide">
<p class="question">
<h3>11</h3>
</p>
<p class="choice">
<label>
<input type="radio" class="a" name="11">a
</label>
<label>
<input type="radio" class="b" name="11">b
</label>
<label>
<input type="radio" class="c" name="11">c
</label>
<label>
<input type="radio" class="d" name="11">d
</label>
</p>
</p>
</p>
</p>
</p>
</section>
<!-- 第三页 -->
<section class="page3">
<p class="result">
<p id="result">这是结果</p>
</p>
</section>
</body>
<script>
//记分设置
$(document).ready(function(){
$(".choice input[type = 'radio']").on("click",count);
});
//count设置
function count(){
var localResult = 0;
for (var i = 1;i <= 10;i++){
var option = $(".choice input[name = '"+i+"']:checked");
if (option.attr("class")){
var score = 0;
switch (option.attr("class")){
case "a":
score = score + 1;
break;
case "b":
score = score + 2;
break;
case "c":
score = score + 3;
break;
case "d":
score = score + 4;
break;
default :
break;
}
localResult += score;
}
}
console.log(localResult);
if (localResult <= 10){
$("#result").text("小于等于10")
}else if (localResult <= 20){
$("#result").text("小于等于20")
}else if (localResult <= 30){
$("#result").text("小于等于30")
}else{
$("#result").text("小于等于40")
}
}
</script>
//Only for your multiple-choice questions, and each question has a value
//Although you said there are ten questions and the code you posted is 11, the length is still 10
Can’t he just add up the values of all the inputs when submitting the questionnaire
Actually, it can’t be calculated like this. When calculating the user's score, we need to re-calculate it. If we do this, how can a situation like -1+2 appear? This may be a re-accumulation
If the total score pops up after 10 questions have been selected, wouldn’t it be nice to get the scores corresponding to the selected answers to all questions at the end? If there is no need to select, add them up immediately.
For question 11, no matter how you click, the score will not be added or subtracted.
Because you didn't calculate it, the code doesn't need to be changed, just change 10 to 11.