Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery测验-不会调用最后一个if_Javascript_Jquery - Fatal编程技术网

Javascript Jquery测验-不会调用最后一个if

Javascript Jquery测验-不会调用最后一个if,javascript,jquery,Javascript,Jquery,在遍历所有数组之后,为什么不调用最后一个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; //subm

在遍历所有数组之后,为什么不调用最后一个
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('');
}
//数组biblioteket
var startArray=[
{
“s1”:“Hvor høj er Rundetårnet?”,
“svar”:“34”
},
{
“s1”:“hvor gammel er Thomas”,
“svar”:“27”
}
]
var-qu=0;
var得分=0;
//提交knapper kalder funktion信息
$(“#表格”)。提交(测验);
$(“#问题”).html(startArray[qu].s1+”

); 函数测验(){ var answer=$(“#answer”).val(); 如果(答案==startArray[qu].svar){ 得分++ $(“#comment”).html(“+”Flot arbejde!

“+”Din Score er:“+Score+”); 瞿++ $(“#问题”).html(startArray[qu].s1+”

); }否则{ $(“#comment”).html(“+”prøv igen

“+”); } 如果(qu==2){ $(“#问题”).hide(); $(“#形式”).hide(); $(“#comment”).html(“Tillykke du er færdig.

“+”Din Score er:“+Score”); } event.preventDefault(); $(“#答案”).val(“”); }
函数测验()
更改为
函数测验(事件)
以便在方法中引用
事件

否则,
event.preventDefault()不起作用。。(由于
事件
未定义,因此会导致错误)


在展示之前,你还需要检查是否还有下一个问题

所以

qu++;
if(星光[qu]){
$(“#问题”).html(startArray[qu].s1+”

); }

演示所有更改在

放置;在qu++和score++之后,否则qu将不会增加

您还在
$(“#question”).html(startArray[qu].s1+“

”)中使用递增的qu值第二个问题将是startArray[2]。s1,但第二个问题将是startArray[1]。s1。 因此,将其更改为:

 $("#question").html(startArray[qu-1].s1 + "<br/><br/>");
$(“#问题”).html(startArray[qu-1].s1+”

);

你可以走了。

qu
只有在
answer==startArray[qu]时才会递增。svar
你检查过它递增到什么值了吗?如果条件从来都不是真的,
qu
将始终为0或者
qu
不是2,或者在代码完成之前您是一个异常。它对我有效:(然后当然在不应该的地方提交)它必须运行:$(“#comment”).html(“Tillykke du er færdig.

“+”Din Score:“+Score”);在运行数组[0]和[1]之后,这是如何解决他的问题的?@BotskoNet会阻止表单提交,这可能会让op认为它永远不会达到2。当我问你一个问题时,你对
preventDefault
一无所知,你只是做了
函数测试(事件)
什么都没有else@BotskoNet由于你的评论,我扩大了我的问题,这表明它不清楚。我有这个事件吗。防止。。。在正确的地方?因为这没有任何区别……我用qu++和score++得到了这一点!:)谢谢在完成所有数组之后,将不会是最后一个。。如果我将i改为qu-1,它将反复运行相同的数组..或者您可以交换qu++和$(“#问题”),而无需使用qu-1。这里是另一个正在工作的JSFIDLE:是的,它正在做我想做的事情。。。但是问题没有改变?你问题的答案是因为当qu=2;星光[qu]未定义。因此会抛出错误并停止代码执行。所以它不会进入最后一个if块。
 $("#question").html(startArray[qu-1].s1 + "<br/><br/>");