0 votes
ago in SoSci Survey (dt.) by s287101 (110 points)
edited ago by SoSci Survey

Halllöchen,

Ich möchte gerne keine Filterfragen verwenden, sondern die Frage direkt auf derselben Seite "aufgeklappt" wird. Dafür habe ich den folgenden Code geschrieben, der auch funktioniert:

**<script type="text/javascript">
<!--
var optionA = document.getElementById("RH01_01_container");  // ID der Auswahloption "Ja"
var optionB = document.getElementById("RH01_02_container");  // ID der Auswahloption "Nein"
var frage = document.getElementById("RH02_qst");  // ID der Folgefrage
// Die Funktion toggle sorgt dafür, dass die Frage angezeigt oder ausgeblendet wird
function toggle() {
  // Die Bedingung prüft, ob Option A (Ja) ausgewählt wurde
  if (optionA && optionA.querySelector('input').checked) {  // Überprüfen, ob "Ja" angeklickt wurde
    frage.style.display = "";  // Frage anzeigen
  } else {
    frage.style.display = "none";  // Frage ausblenden
  }
}
// Den Event-Listener direkt auf die Radio-Buttons anwenden
optionA.querySelector('input').addEventListener("click", toggle);
optionB.querySelector('input').addEventListener("click", toggle);
// Initiale Anzeige: Frage ausblenden, falls "Nein" vorab ausgewählt wurde
toggle();
// -->
</script>**

Nun möchte ich gerne auf einer Seite, diese Funktion für drei Fragen auf einer Seite machen, bei denen jeweils eine "Folgefrage" aufgeklappt werden soll.

Zur Umsetzung habe ich versucht, einfach für jede Frage einen Code wie oben zu schreiben und unter die jeweilige Frage zu ziehen. Dabei wird aber nur die Folgefrage für die letzte der drei Fragen aufgeklappt. Und die Folgefragen der ersten Frage werden komplett ausgeblendet.

Wie kann ich den Code anpassen, damit auf einer Seite die Folgefragen für jede Frage aufgeklappt werden, wenn man "ja" anklickt?

Vielen Dank!

1 Answer

0 votes
ago by SoSci Survey (330k points)

Das Problem ist, dass die Variablen- und Funktionsnamen für die gesamte Seite gelten.

Sie könnten also entweder in jedem Script-Block andere Bezeichnungen verwenden. Oder Sie kapseln es in eine Funktion, was m.E. deutlich einfacher wäre. Sehen Sie sich dazu bitte einmal den Abschnitt Mehrere gleichartige Fragen an.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...