Hallo!
Ich komme leider nicht mehr weiter:
Ich möchte, dass bei Auswahl der Antwort "Ja" ("VT0x_01a) eine Folgefrage auf der selben Fragebogenseite eingeblendet wird. Das Ganze soll bei bei vier Auswahlfragen (VT02; VT04; VT06; VT08) passieren, auf die optional die Fragen VT03, VT05, VT07 bzw. VT09 angezeigt werden sollen.
Ich kenne die entsprechende Seite im Benutzerhandbuch, bekomme aber das folgende Script nicht zum Laufen. Das Script endet mit script type="javascript" und endet mit /script - natürlich entsprechend mit < >
function DynamicFilter(auswahlID, folgeID) {
var optionA = document.getElementById(auswahlID + "_01a"); // VT0x_01a ist die HTML-ID der Auswahloption "Ja"
var optionB = document.getElementById(auswahlID + "_02a"); // VT0x_02a ist die HTML-ID der Auswahloption „Nein
var frage = document.getElementById(folgeID + "_qst"); // HTML-ID der Folgefrage
function toggle() {
// Die Bedingung prüft: Ist Option A ausgewählt?
if (optionA.checked) {
// Wurde "Ja" ausgewählt, dann wird die Frage angezeigt
// Keine Angabe ("") verwendet die Standard-Einstellung (normal anzeigen)
frage.style.display = "";
} else {
// Mit der Anzeigeoption "none" wird die Frage ausgeblendet
frage.style.display = "none";
}
}
// Die Funktion soll jedesmal ausgeführt werden, wenn eine der beiden Optionen angeklickt wird
SoSciTools.attachEvent(optionA, "click", toggle);
SoSciTools.attachEvent(optionB, "click", toggle);
// Und jetzt gleich soll sie auch ausgeführt werden, damit die Anzeige zu Beginn korrekt ist
// (z.B. ausblenden der Folgefrage zu Beginn)
toggle();
}
// Aufrufen der Klassenfunktion und Definition der Frage- und Antwortelemente entsprechend der Eingangsfrage
new DynamicFilter("VT02", "VT03");
new DynamicFilter("VT04", "VT05");
new DynamicFilter("VT06", "VT07");
new DynamicFilter("VT08", "VT09");
// -->
Hat jemand einige Idee woran es hakt?
Vielen Dank vorab!