为什么在通过所有数组后它不会调用最后一个if
?
//array biblioteket
var startArray = [
{
"s1": "Hvor høj er Rundetårnet? ",
"svar": "34"
},
{
"s1": "hvor gammel er Thomas",
"svar": "27"
}
]
var qu = 0;
var score = 0;
//submit knapper kalder funktion info
$("#form").submit(quiz);
$("#question").html(startArray[qu].s1 + "<br/><br/>");
function quiz() {
var answer = $("#answer").val();
if (answer == startArray[qu].svar) {
score++
$("#comment").html("<h2>" + "Flot arbejde! <br/> <br/>" + "Din Score er: " + score + "</h2>");
qu++
$("#question").html(startArray[qu].s1 + "<br/><br/>");
} else {
$("#comment").html("<h2>" + "prøv igen <br/> <br/> " + "</h2>");
}
if (qu == 2) {
$("#question").hide();
$("#form").hide();
$("#comment").html("Tillykke du er færdig. <br/> <br/>" + "Din Score er: " + score);
}
event.preventDefault();
$("#answer").val('');
}
答案 0 :(得分:1)
将function quiz()
更改为function quiz(event)
,以便您在方法中引用event
。
否则您的event.preventDefault();
无法正常工作..(它会导致错误,因为event
未定义)
在尝试显示之前,您还需要检查是否有下一个问题。
所以
qu++;
if (startArray[qu]){
$("#question").html(startArray[qu].s1 + "<br/><br/>");
}
处进行所有更改的演示
答案 1 :(得分:1)
放在qu ++和得分++之后,否则qu将不会增加。
你也在$("#question").html(startArray[qu].s1 + "<br/><br/>");
使用递增的qu值,对于第二个问题,它将是startArray [2] .s1,但对于第二个问题,它应该是startArray [1] .s1。
所以改成它:
$("#question").html(startArray[qu-1].s1 + "<br/><br/>");
你很高兴。