Möchte ich das jetzt jedoch bei mehreren Fragen auf einer Seite machen, dann funktioniert es nur bei der letzten.
Generell möchte ich empfehlen, es mit Filtern nicht zu übertreiben. Das erschwert die Auswertung und macht es für die Teilnehmer u.U. weniger übersichtlich. Oftmals - und da muss man die Auswertungsstrategie rechtzeitig kennen - benötigt man die Daten überhaupt nicht, die man in einer aus-/eingeblendeten Frage abfragt.
Speziell für Ihr Problem: Es funktioniert nur mit einer Frage, weil die JavaScript-Variablen (optionA
, optionB
, frage
und toogle
) für die komplette Fragebogen-Seite gelten. Wenn Sie denselben Code also ein zweites Mal verwenden, werden Ihre Variablen vom ersten Mal überschrieben. Die einfachste Lösung besteht darin, beim zweiten Mal andere Variablennamen zu verwenden, z.B.:
<script type="text/javascript">
<!--
var option1A = document.getElementById("CO10_01a");
var option1B = document.getElementById("CO10_02a");
var frage1 = document.getElementById("CO11_qst");
function toogle1() {
if (option1A.checked) {
frage1.style.display = "";
} else {
frage1.style.display = "none";
}
}
SoSciTools.attachEvent(option1A, "click", toogle1);
SoSciTools.attachEvent(option1B, "click", toogle1);
toogle1();
</script>
Ab vier oder fünf Fragen würde es aber u.U. sinnvoll, das in eine Funktion zu kapseln. Das können wir gerne in einer neuen Fragen hier im Online-Support erörtern, wenn Sie Interesse daran haben.