【问题标题】:How to retain selected choices in a javascript quiz?如何在 javascript 测验中保留选定的选项?
【发布时间】:2016-03-26 14:14:14
【问题描述】:

我的 javascript 测验有 5 个问题。 它有两个按钮 - 下一个和上一个。

我如何做到这一点 - 当按下“上一个”按钮时,必须突出显示上一个问题的选定选项。

这是我用过的一个函数:

function createChoices() {
 for(var i=0;i<4;i++)
  {
   if(allQuestions[index].checked == "checked")
    {
     allQuestions[index].choices[userAnswer].checked = "true"
    }
  }
}

不幸的是,在 Web 浏览器中工作的下一个按钮在 JSFiddle 中不起作用。

【问题讨论】:

  • 我复制正确。在 HTML 部分,下一个按钮的 onClick 属性调用 updateNext() 函数,该函数在我的 Javascript 代码中定义。
  • 是的,我正在检查代码。缩进是正确的。
  • 当先前点击 { 对于之前已勾选的每个复选框 { thischeckBox.value = "checked" }} 不起作用?

标签: javascript html web radio-button


【解决方案1】:

我修复了您的代码/jsfiddle 设置中的几个错误:

  • 将 javascript 设置 onLoad 更改为 No wrap - in &lt;head&gt;
  • 将函数createQuestion()createChoices() 组合成1 个onload 事件
  • collectUserAnswer()移到index--上方,否则复选框将被替换

working DEMO

【讨论】:

  • 感谢怀特先生,它正在工作!我现在明白了我对 collectUserAnswer() 的错误。但我没有发现 NoWrap 的代码有任何变化 - 在 你说你已经做了。
  • 在 onload 事件中包含 onload 事件是没有用的,因为该事件已经被触发。这就是为什么我把它移到只是包裹在头上。如果我将其改回 onload,则无法加载问题:jsfiddle.net/9nLxas6m/15
  • 好的,现在我明白了!但是你能告诉我下一个按钮是如何工作的吗? :) 我对每一件事都很清楚。
  • NEXT 按钮将调用 collectUserAnswer() 以更新 JSON 对象中该问题的 userAnswer 属性。然后它将增加index 并使用新的index 值调用createQuestion()createChoices()
  • 非常感谢怀特先生。
猜你喜欢
  • 1970-01-01
  • 2015-10-05
  • 1970-01-01
  • 1970-01-01
  • 2014-03-09
  • 2022-01-09
  • 2019-04-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多