这是我创建问题的第二次尝试。
我想用jquery创建一个测验。每个问题都有两个答案,一个正确,一个错误。当问题得到解决时,我不想再被回答。这就是为什么我让答案消失了。他们也可能无法点击。
然而,我真正需要的是能够追踪正确答案的得分。
我希望在回答完所有问题后出现“总结果”块。
有人有什么建议吗?
data-type =“1”表示答案是正确的
data-type =“0”表示答案错误
欢迎对代码进行任何改进或改进建议。
我创建了以下代码
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<style type="text/css">
.hide{
display:none;
}
</style>
<div id="Question1">Question 1
<div id="answers_q1">
<div id="answer1_q1" class="ans" data-type="1">answer 1</div>
<div id="answer2_q1" class="ans" data-type="0">answer 2</div>
</div>
</div>
<br />
<div id="Question2">Question 2
<div id="answers_q2">
<div id="answer1_q2" class="ans" data-type="1">answer 1</div>
<div id="answer2_q2" class="ans" data-type="0">answer 2</div>
</div>
</div>
<br />
<div id="Question3">Question 3
<div id="answers_q3">
<div id="answer1_q3" class="ans" data-type="1">answer 1</div>
<div id="answer2_q3" class="ans" data-type="0">answer 2</div>
</div>
</div>
<br />
<div id="total">Total Results
<div id="answers_total">
You have <span id="count"></span> correct answers out of total 3 Questions!!!
</div>
</div>
<script language="javascript" type="text/javascript">
$(function() {
$(".ans").click(function(e){
var res = $(this).attr('data-type');
var clickCounter = $('#count').data('clickCounter');
clickCounter = (clickCounter + res);
$('#count').data('clickCounter', clickCounter);
$('#count').html( clickCounter );
});
$("#answer1_q1").click(function() {
$("#answers_q1").html('Correct');
});
$("#answer2_q1").click(function() {
$("#answers_q1").html('Wrong');
});
$("#answer1_q2").click(function() {
$("#answers_q2").html('Correct');
});
$("#answer2_q2").click(function() {
$("#answers_q2").html('Wrong');
});
$("#answer1_q3").click(function() {
$("#answers_q3").html('Correct');
});
$("#answer2_q3").click(function() {
$("#answers_q3").html('Wrong');
});
/**/
});
</script>
答案 0 :(得分:1)
我会把它改成这样的东西(使它更有活力):
<div class="question">Question 1
<div class="answers">
<p>
<input type="radio" name="q1" data-type="0">
answer 1
</p>
<p>
<input type="radio" name="q1" data-type="1">
answer 2
</p>
</div>
</div>
$(function(){
$('.answers input[type="radio"]').click(function(){
var type = $(this).data('type'),
correctAnswerCount =
$('.answers input[type="radio"]:checked[data-type="1"]').length;
alert(type === 1 ? 'Correct' : 'Wrong');
});
});
请记住,您只需检查html即可找到正确的答案。