Can';在Javascript中,不要让计数器在函数内部工作

Can';在Javascript中,不要让计数器在函数内部工作,javascript,jquery,html,radio-button,dynamically-generated,Javascript,Jquery,Html,Radio Button,Dynamically Generated,我正试图用Javascript创建一个众所周知的测验,作为我的第一个“从头开始”练习。这是我的,它有所有其他代码 这是我的问题: var allQuestions = [{ "question": "Who was Luke's gunner in the battle at Hoth?", "choices": ["Dak", "Biggs", "Wedge", "fx-7"], "correctAnswer": 0 }]; 在这个函数中,我包含了一个循环,它应该遍历

我正试图用Javascript创建一个众所周知的测验,作为我的第一个“从头开始”练习。这是我的,它有所有其他代码

这是我的问题:

var allQuestions = [{
    "question": "Who was Luke's gunner in the battle at Hoth?",
    "choices": ["Dak", "Biggs", "Wedge", "fx-7"],
    "correctAnswer": 0
}];
在这个函数中,我包含了一个循环,它应该遍历单选按钮和用户选择。见下文

function answerFwd() {
    var answerOutput = " ";
    var itemAnswers = allQuestions;
    var answer = 0;
    var playerTally = 0;
    var playerFeedback = "";
    var playerMessage = document.getElementById("playerMessage");
现在我被这件事困住了; 将数组中的正确答案与用户在单选按钮中选择的内容相匹配,然后动态显示分数

现在,我可以显示0,但没有增量

    var radioValue = $("input[type='radio'].radioButtons:checked").val();

    if (currentAnswer <= itemAnswers.length) {
        currentAnswer++;
    }
    createRadioButtonFromArray(itemAnswers[currentQuestion].choices);

    for(i = 0; i < radioValue.length; i++) {
      if(radioValue[i].checked) {
           if(radioValue[i].value == itemAnswers.correctAnswer) {
                playerTally++;
                break;
           }
      }
    }

    playerFeedback += "<h4>" + playerTally + "</h4> <br/>";
    playerMessage.innerHTML = playerFeedback;
}
var radioValue=$(“输入[type='radio'].单选按钮:选中”).val();

如果(currentAnswer在你进入下一个问题之前,你可以用

if (document.querySelectorAll("#responses input")[allQuestions[currentQuestion].correctAnswer].checked)

完整的解决方案是

var radios=document.queryselectoral(“响应输入”);
var correct=所有问题[currentAnswer]。correctAnswer;
如果(收音机[正确]。已选中){
playerTally++;
playerFeedback+=“”+playerTally+“
”; playerMessage.innerHTML=播放器反馈; }
如果(当前答案)您有itemAnswers.correctAnswer,但我相信您需要所有问题[I].correctAnswer-您已经使用了jQuery,据我所知,它与您的实际问题无关@mplungjan感谢您的响应,但这不起作用。我得到零传播,但它没有增加…我看到您复制到itemAnswers,但您仍然需要itemAnswers[I]-无论如何,创建一个显示完整问题的提琴这是我的提琴…谢谢我先生!嘿,我在这里更新了我的提琴,但似乎不起作用!我遗漏了什么吗?事实上,这是正确的,但很难阅读,并且没有在上下文中显示。我在写代码时急于离开,所以这是一个丑陋的一行程序。使用mplungjan编写的版本out。它更漂亮。嗯,上面代码片段中的代码不起作用。嘿,你能重新发布小提琴吗?现在它链接到某种形式,而不是我的测验…谢谢你过时的答案。它不完整,因为你真的应该在背面工作或删除背面箭头谢谢,但小提琴不起作用。或者我应该说代码没有让我进步b还有我已经拥有的。但我真的很感谢你的帮助!小提琴要么起作用,要么不起作用。如果它起作用,那么为什么它不能让你更接近一个解决方案呢?我已经设法让计数器/数字出现在页面的DOM/中,但当你进入下一个问题时,它不会增加。也许我需要显示一个计数器ke so
0/20
,这样用户可以确定他们的进度。
var radios = document.querySelectorAll("#responses input");
var correct = allQuestions[currentAnswer].correctAnswer;

if (radios[correct].checked) {
  playerTally++;
  playerFeedback += "<h5>" + playerTally + "</h5> <br/>";
  playerMessage.innerHTML = playerFeedback;
}


if (currentAnswer <= itemAnswers.length) {
    currentAnswer++;
}