Liebes SoSci-Survey Team.
Im Rahmen einer Studie rund um die Mediennutzung von Teilnehmenden, bin ich darauf angewiesen, dass der Fragebogen 'dynamisch' arbeitet. Konkret bedeutet das folgendes:
Im ersten Teil des Fragebogens frage ich Motivationen ab, die Teilnehmende u.U. haben, um Medien zu nutzen.
Anschliessend frage ich ab, welche Medienträger sie am häufigsten benutzen. Hierzu biete ich ihnen auch ein offenes Textfeld an, in dem sie freiwillig ein bestimmtes Medium ergänzen dürfe.
Im dritten und letzten Teil möchte ich wissen, welche dieser Medienträger sie für welche Motivationen verwenden. In dieser Frage wird ihnen auch das Medium angeboten, welches sie auf der vorherigen Seite freiwillig eingetragen haben.
Um nur die Motivationen anzuzeigen, die die Teilnehmenden als relevant für sich empfinden, habe ich den folgenden PHP-Code vorbereitet (beispielhaft, anhand Seite MN16 des Fragebogens), der auch super funktioniert:
$items = getItems('MN09', 'min', 4); // Eine Liste der Items abfragen, die in MN09 min. den Antwortcode 4 bekommen haben
question('MN16', $items); // Ausfrage MN16 nur diese Items anzeigen
Nun müsste ich jedoch auch die Antwortoptionen, also die verschiedenen Medienträger, die sie zur Verfügung haben, dynamisch gestalten. D.h. konkret von der vorherigen Seite alle Items die mehr als den Antwortcode 1 erhalten haben als Optionen anbieten. Die entsprechende Seite habe ich als geschlossener Lückentext gestaltet, d.h. die Optionen müssten als 'Bubbles' angezeigt werden. Ich habe Mühe damit, einen Code hierfür zu schreiben, da ich nicht verstehe, wie ich diese Optionen referenzieren kann (im Unterschied zu einer Variable, die ja immer mit einer Referenz versehen ist).
Zu guter Letzt habe ich auch Mühe damit, die Antwort im offenen Textfeld auf der nächsten Seite zu 'replacen'. Wenn die Teilnehmenden etwas eingeben, ist es kein Problem. Wenn es aber ein 'empty string' ist, dann erscheint die 'Bubble'/das 'Feld' der Option trotzdem, aber einfach leer. Das sieht rein ästhetisch nicht besonders hübsch aus. :-) Ich habe es z.B. so versucht, was aber nicht funktioniert:
// read participant's answer
$media = value('MN24_01');
// check if the participant entered something
if (empty($media)) {
// if nothing was entered, replace placeholder with an empty string
replace('%other%', '');
} else {
// if something was entered, replace placeholder with their answer
replace('%other%', $media);
}
Das wäre der Link zu einem Pre-Test des Fragebogens ab S. (Die Motivationen müssen ausgefüllt werden, damit die anderen Seiten anschliessend erscheinen): https://www.soscisurvey.de/wbmu/?act=SwYTxfWWIbbNo1pyjIrTGWqH
Ich habe auch Screenshots beigelegt.
Besten Dank und freundliche Grüsse