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

Hallo zusammen,

ich habe folgendes Problem:

Ich habe eine Mehrfachauswahl-Frage gestellt, bei der verschiedene Optionen mit ja oder nein beantwortet werden können.
Alle Optionen, die mit ja beantwortet wurden, werden in eine Rangfolge-Frage weitergegeben, sodass nur diese Optionen gerankt werden sollen.
Anschließend werden zwei Fragen gestellt, die spezifisch auf die Option bezogen werden sollen, die mit 1 gerankt wurde.
Also habe ich in den Fragen einen Platzhalter platziert und der funktioniert soweit auch.

So sieht der Code dazu bisher aus:

$name = getItems("CH05", "==", 1);

foreach ($name as $itemID) {
  $title = getItemtext("CH05", $itemID);
}

replace("%chatbot%", $title);

Das Problem, das ich jetzt noch habe, ist, dass in der Mehrfachauswahlfrage die letzte Option ein offenes Antwortfeld "Sonstiges:" ist.
Für die Rangfolgefrage hab ich dafür auch mit einem Platzhalter gearbeitet, der auch funktioniert - sprich: wenn die Option Sonstiges ausgefüllt wird, erscheint der eingegebene Text aus dem Antwortfeld in der Rangfolge-Frage als Option.
Aber wenn ich diese Option auf Platz 1 der Rangfolge-Frage setze, dann erscheint im Fragetext für die nächsten zwei Fragen nicht der Text aus dem offenen Antwortfeld, sondern mein Platzhalter.
Wie schaffe ich es jetzt also noch, dass wieder die selbst eingetragene Antwort statt des Platzhalters angezeigt wird?

Danke für eure Hilfe! :)

1 Answer

0 votes
ago by SoSci Survey (364k points)

Ich würde den obigen Code ein wenig umformulieren:

$items = array_values(getItems("CH05", "==", 1));
if (empty($items)) {
  // Was tun, wenn kein Itme auf Platz 1 ist?
} else {
  $itemID = $items[0];
  // Den Fall "Sonstiges" separat behandeln
  if ($itemID == 9) {
    $title = value('CH05_09');
  } else {
    $title = getItemtext("CH05", $itemID);
  }
}
replace("%chatbot%", $title);

Die 9 müssten Sie durch die ID Ihrer "Sonstiges" Option ersetzen und das CH05_09 entsprechend durch die Kennung der offenen Texteingabe.

Womöglich würde auch value("CH05", 'text') funktionieren, aber das habe ich nicht getestet.

ago by s357850 (110 points)
Vielen Dank! Es hat nicht ganz funktioniert, aber mit dem Ansatz konnte ich es lösen!

Ich hab dann die Funktion value() auf die ursprüngliche Mehrfachauswahlfrage ausgerichtet - jetzt klappt es!

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

...