function HideSectionTwo() {

    // If correct answers are checked
    if(document.getElementById("S1Q1A").checked == true)  {
        document.getElementById("sectiontwo").style.display = "";

    }
    //else if nothing is checked
    else {
        document.getElementById("sectiontwo").style.display = "none";
    }
}

我是JavaScript的新手,但我尝试创建一个多选测验,每节中包含4个问题。在该部分中正确回答所有答案后,它将显示下一部分。对于我的HTML,我正在使用表,并将整个节存储在这些单独的表中,这些表的ID分别标记为“sectionone”,“sectiontwo”,依此类推。上面的代码是我一直在从事的工作。我尝试了getElementByClass并按类分配了元素名称,但是没有用。我只是被困住了,需要对前进的方向有一些了解。

我的脚本可用于选择单个答案。如果我选择第1部分问题1答案A,则将显示ID为“sectiontwo”的表。

最佳答案

您可以尝试使用一个变量来跟踪一个部分中填写了多少个问题,然后检查该变量以确定是否显示下一个部分。就像是:

//count of questions answered
var s1count = 0;
//question 1
if (document.getElementById('S1Q1A').checked || document.getElementById('S1Q1B').checked || document.getElementById('S1Q1C').checked || document.getElementById('S1Q1D').checked) {
  s1count++;
}
//question 2
if (document.getElementById('S1Q2A').checked || document.getElementById('S1Q2B').checked || document.getElementById('S1Q2C').checked || document.getElementById('S1Q2D').checked) {
  s1count++;
}
//and so on...

//check the count, say if section 1 has 5 questions
if (s1count == 5) {
  document.getElementById("sectiontwo").style.display = "block"; //or inline
}

07-24 09:51
查看更多