0 votes
in SoSci Survey (dt.) by s286352 (200 points)
edited by SoSci Survey

Hallo zusammen,

ich habe folgenden Code genutzt, um eine dynamische Filterfrage auszuführen. Dieser Code funktioniert gut. Ich würde jedoch gerne, dass mit der Frage, die eingeblendet wird auch ein Textbaustein eingeblendet wird. Ist das möglich?

<script type="text/javascript">
<!--
var optionA = document.getElementById("KO01_01a");
var optionC = document.getElementById("KO01_02a");  
var frage = document.getElementById("KO02_qst");

function toggle() {
  if (optionC.checked) {
    frage.style.display = "";
  } else {
    frage.style.display = "none";
  }
}
 
SoSciTools.attachEvent(optionA, "click", toggle);
SoSciTools.attachEvent(optionC, "click", toggle);
 
toggle();
// -->
</script>

1 Answer

0 votes
by SoSci Survey (327k points)

Im Prinzip müssen Sie bei diesem Teil hier ...

  if (optionC.checked) {
    frage.style.display = "";
  } else {
    frage.style.display = "none";
  }

... nur auch den Text ergänzen. Wenn Sie oben also z.B. für den Text TX01 das hier ergänzen ...

var frage = document.getElementById("KO02_qst");
var text = document.getElementById("TX01_media"); 

... dann würden Sie unten im Filter wie folgt ergänzen:

  if (optionC.checked) {
    frage.style.display = "";
    text.style.display = "";
  } else {
    frage.style.display = "none";
    text.style.display = "none";
  }
by s286352 (200 points)
Vielen Dank für Ihre schnelle Rückmeldung!

Ich habe versucht anhand Ihrer Anleitung den Filter einzustellen, jedoch hat es leider so nicht funktioniert:

<script type="text/javascript">
<!--
var optionA = document.getElementById("KO01_01a");
var optionC = document.getElementById("KO01_02a");  
var frage = document.getElementById("KO02_qst");
var text = document.getElementById("VO05_media");

function toggle() {
  if (optionC.checked) {
    frage.style.display = "";
    text.style.display = "";
  } else {
    frage.style.display = "none";
    text.style.display = "none";
  }
}
 
SoSciTools.attachEvent(optionA, "click", toggle);
SoSciTools.attachEvent(optionC, "click", toggle);
 
toggle();
// -->
</script>
by SoSci Survey (327k points)
Dann werfen Sie doch bitte einen Blick in die JavaScript-Fehlerkonsole Ihres Browsers und berichten Sie, was dort so steht: https://www.soscisurvey.de/help/doku.php/de:general:browser-tools

Meine Vermutung wäre, dass die HTML-ID des Textelements womöglich nicht stimmt, oder dass der JavaScript-Code nicht am Ende der Seite (unterhalb des Textes steht). Erstellen und posten Sie gerne auch einen Pretest-Link direkt (!) zur betroffenen Seite.
by s286352 (200 points)
Ich habe das Problem lösen können. Es lag daran, dass ich den Text als HTML-Code angelegt hatte und in der Filterführung jedoch als Text angegeben habe. Nachdem ich den Text als "Text" angelegt habe, hat die Filterführung funktioniert :)

Ich möchte mich dennoch für die schnelle Rückmeldung und Unterstützung bedanken! Das ist wirklich sehr hilfreich und motiviert weiterzumachen :)

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

...