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

Hallo,
meine Frage bezieht sich darauf, dass ich gerne selbst eingegebene / offene Antworten der Teilnehmer:innen aus einer Mehrfachauswahl in einer Folgefrage zum erneuten Auswählen anzeigen lassen möchte.

Und zwar habe ich eine Checkliste erstellt, bei der mehrere Antworten angekreuzt werden (Mehrfachauswahl) können unter Anderem Sonstiges: __. Anschließend werden auf der nächsten Seite mit einem PHP-Code (siehe unten) die vorher angekreuzten Items erneut angezeigt. Hierbei soll nun nur noch eins ausgewählt werden.

$NL = getItems('NL01', '==', 2);
if (count($NL) > 0) {
  question('NL03', $NL);
}

Meine Frage ist nun, wie schaffe ich es, wenn auf der vorherigen Seite bei Sonstiges: _____ eine Angabe gemacht wurde, diese auf der nächsten Seite als Item (Auswahl) anzuzeigen, damit die Teilnehmer:innen dieses auswählen könnten.
Ich habe es bereits mit dem PHP-Code replace versucht, dies funktioniert jedoch leider nicht wie gewünscht.

Vielen lieben Dank im Voraus!

1 Answer

0 votes
by SoSci Survey (305k points)

Meine Frage ist nun, wie schaffe ich es, wenn auf der vorherigen Seite bei Sonstiges: _____ eine Angabe gemacht wurde, diese auf der nächsten Seite als Item (Auswahl) anzuzeigen

Das Video Item Piping zeigt das im Detail.

Im Prinzip müssen Sie nur den Text mittels replace() in einen Platzhalter schreiben und selbigen dann statt dem Text "Sonstiges" in der Folgefrage eintragen.

replace('%sonstiges%', 'NL03_09a', 'response');
by s186392 (110 points)
Vielen Dank, es hat funktioniert!

Jetzt habe ich in Bezug darauf noch eine weitere Frage.
Wie kann ich einstellen, dass wenn bei der Mehrfachauswahl nur eine Auswahl angekreuzt worden ist, ich diese auf der Folgeseite nicht erneut auswählen muss, sondern diese bereits ausgewählt wird/da steht.
by SoSci Survey (305k points)
Es kommt ein wenig darauf an, wie Ihr PHP-Code bisher aussieht. Ich orientiere mich einmal an dem Code, den Sie oben gepostet haben. Dort müssten Sie das

if (count($NL) > 0)

nur ändern in

if (count($NL) > 1)

Denken Sie aber bitte daran, dass die Variable NL03 dann in der Auswertung (und für eventuelle andere Filter) fehlt. Eventuell möchten Sie die Auswahl mittels put() in diese Variable speichern, falls nur eine Option ausgewählt wurde.
by s186392 (110 points)
Vielen Dank!

Ich habe meinen PHP-Code leider aufgrund des Video Item Piping geändert.

Könnten Sie mir weiter helfen, wie dies nun mit meinem neuen PHP-Code funktioniert?

$items = getItems('NL01', '==', 2);
replace('%Corona%', 'NL01_17a', 'response');
replace('%Anderes1%', 'NL01_20a', 'response');
question('NL03', $items);  // Auswahl_Negative Lebensereignisse
by SoSci Survey (305k points)
Gerne, aber Sie müssten dafür bitte kurz erklären, was noch nicht funktioniert. Danke.
by s186392 (110 points)
Ich würde in den PHP-Code noch gerne implementieren, dass wenn bei der Mehrfachauswahl nur eine Auswahl angekreuzt worden ist, die Teilnehmer:innen diese auf der Folgeseite nicht erneut auswählen müssen, sondern die eine angekreuzte Option bereits vom System ausgewählt wird.

Dankeschön für Ihre Hilfe!
by SoSci Survey (305k points)
Dann versuchen Sie es hiermit:

$items = getItems('NL01', '==', 2);
if (count($items) == 1) {
  put('NL03', $items[0], true);
} else {
  replace('%Corona%', 'NL01_17a', 'response');
  replace('%Anderes1%', 'NL01_20a', 'response');
  question('NL03', $items);  // Auswahl_Negative Lebensereignisse
}
by s186392 (110 points)
Ich habe es gerade ausprobiert, aber leider funktioniert dies nicht.

Wenn ich nun bei der Mehrfachauswahl nur ein Häckchen setzte, wird mir diese eine Option leider auf der nächsten Seite überhaupt nicht angezeigt.
Wenn ich mehrere Optionen bei der Mehrfachauswahl auswähle, funktioniert dies weiterhin und die ausgewählten Optionen werden mir angezeigt.

Gibt es eventuell noch einen anderen Weg?
by SoSci Survey (305k points)
> wird mir diese eine Option leider auf der nächsten Seite überhaupt nicht angezeigt.

Ich hatte es so verstanden, dass das das Ziel sei. Wenn es Ihnen darum geht, dass Sie Frage zwar sehen aber mit vorausgewählter Option, dann nutzen Sie preset().

$items = getItems('NL01', '==', 2);
if (count($items) == 1) {
  preset('NL03', $items[0]);
}
replace('%Corona%', 'NL01_17a', 'response');
replace('%Anderes1%', 'NL01_20a', 'response');
question('NL03', $items);  // Auswahl_Negative Lebensereignisse
by s186392 (110 points)
Vielen lieben Dank für die ganze Hilfe. Jetzt hat es so funktioniert, wie ich es mir vorgestellt habe!

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

...