In meinem Fall geht es um drei Fragen, die aufeinander aufbauen:
Wenn bei Frage 1 (PO04) "Ja" angekreuzt wird, sollen Frage 2 und 3 nicht angezeigt werden.
Wenn bei Frage 2 (PO05) "Nein" angekreuzt wird, soll Frage 3 nicht angezeigt werden.
Nur wenn Frage 1 mit "Nein" und Frage 2 mit "Ja" beantwortet werden, soll Frage 3 (PO06) angezeigt werden. Das Ganze habe ich mit folgendem Code abgebildet:
var optionMA = document.getElementById("PO04_01a"); // Option "JA"
var optionMB = document.getElementById("PO04_02a"); // Option "Nein"
var optionNA = document.getElementById("PO04_01a"); // Option "JA"
var optionNB = document.getElementById("PO05_02a"); // Option "Nein"
var frage1 = document.getElementById("PO05_qst"); // Die Frage PO05, die ein-/auszublenden ist
var frage2 = document.getElementById("PO06_qst"); // Die Frage PO06, die ein-/auszublenden ist
function toogle() {
if (optionMA.checked) {
frage1.style.display = "none";
frage2.style.display = "none";
} else if ((optionMB.checked) && (optionNB.checked)) {
frage2.style.display = "none";
} else {
frage1.style.display = "";
frage2.style.display = "";
}
}
SoSciTools.attachEvent(optionMA, "click", toogle);
SoSciTools.attachEvent(optionMB, "click", toogle);
SoSciTools.attachEvent(optionNA, "click", toogle);
SoSciTools.attachEvent(optionNB, "click", toogle);
toogle();
Jedoch besteht noch das Problem, dass wenn ich bei Frage 1 "Nein" wähle und bei Frage 2 fälschlicherweise "Nein" anklicke, die Frage 3 verschwindet und auch bei Korrektur der Angabe von Frage 2 zu "Ja" nicht wieder angezeigt wird. Frage 3 wird dann nur wieder angezeigt, indem ich zurück zu Frage 1 gehe und "Ja" wähle und danach wieder zu "Nein" wechsle. Gibt es eine Möglichkeit, diesen zuletzt beschriebenen "Umweg" zu umgehen?