0 votes
in SoSci Survey (dt.) by s093736 (140 points)

Liebes Team,

Ich habe eine ziemlich komplizierte Filterfrage:
Es ist eine Multiple Choice Frage. Wenn
1) die erste Auswahl gemacht wird, sollen die Fragen CB03....
2) die zweite Auswahl gemacht wird, sollen die Fragen CB02...
3) die dritte Auswahl gemacht wird, sollen die Fragen CB04....
4) wenn keine von denen gewählt wird, sollen die Fragen SM01...
gezeigt werden.

ich brauche noch die 5. Bedingung, wenn die ersten drei Optionen gewählt werden, sollen alle Fragen gezeigt werden.

Ohne diese 5. Bedingung habe ich mein php-code wie folgt eingetragen, die leider nicht funktioniert. Es kommt die Fehlermeldung, dass php-code nicht stimmt. Bitte geben Sie mir Bescheid, um welchen Fehler es sich hier handelt.
Desweiteren, wie kann ich die 5. Bedingung miteinbeziehen. Welche Code brauche ich dafür.

if (value('CB01_01') == 2) {
question('CB03, CB06, CB09, CB12, CB15, PC04, PC07, LS01, SM01, SM02, SM03, SM04, SM05, SM06, SM07, SD01, SD02, SD03, SD04, SD05, SD06, GB');
} else if (value('CB01_02') == 2) {
question('CB02, CB05, CB11, CB14, PC01, PC06, PB01, PB02, PB03, PB04, PB05, PB06, LS01, SM01, SM02, SM03, SM04, SM05, SM06, SM07, SD01, SD02, SD03, SD04, SD05, SD06, GB');
} else if (value('CB01_03') == 2) {
question('CB04, CB07, CB10, CB13, CB16, PC05, PC08, LS01, SM01, SM02, SM03, SM04, SM05, SM06, SM07, SD01, SD02, SD03, SD04, SD05, SD06, GB')
} else {
question ('SM01, SM02, SM03, SM04, SM05, SM06, SM07, SD01, SD02, SD03, SD04, SD05, SD06, GB')
}

Ganz herzlichen Dank für Ihre Antwort im Voraus.

Beste Grüße.

1 Answer

0 votes
by SoSci Survey (304k points)

Der Befehl question() zeigt eine (!) Frage direkt auf der Seite an. Er ersetzt das "Hineinziehen" in die Seite. Entsprechend müssten Sie den Filter also auf mehrere Seiten verteilen und jedesmal nur eine Kennung in question() angeben. Sie können question() aber mehrfach hintereinander angeben, um mehrere Fragen untereinander zu zeigen.

Überlegen Sie sich, welche Fragen in welcher Filterbedingung auf welchen Seiten angezeigt werden sollen, dann wird's einfacher. Alternativ können Sie statt mit question() mit setPageOrder() arbeiten.

Zu Ihrer Frage mit den "alle 3":

if ((value('CB01_01') == 2) and (value('CB01_02') == 2) and (value('CB01_03') == 2)) {
  question('CB03');
  question('CB02');
  question('CB04');
} elseif (value('CB01_01') == 2) { 
  question('CB03');
  question('CB06');
  question('CB09');
} elseif (value('CB01_02') == 2) { 
  // u.s.w.

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

...