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

0 votes

Hallo,
bei einer Auswahlfrage muß der Proband genau 2 Optionen von mehreren auswählen. Auf der Seite danach soll die erste Antwort und weiter hinten die zweite Antwort ausgelesen und in eine Überschrift gesetzt werden. Mit
replace('%Faehigkeit1%', 'FK01', 'response');
werden aber beide Antworten eingesetzt. Was müßte ich ergänzen, damit nur die 1. bzw die 2. Antwort genommen wird?

Herzlichen Dank schonmal
Robert Lust

in SoSci Survey (dt.) by s102157 (140 points)

1 Answer

0 votes

Sie arbeiten mit einer Mehrfachauswahl? Die beiden ausgewählten Optionen bekommen Sie dann wie folgt:

$selected = getItems('FK01', 'is', 2);
replace('%Faehigkeit1%', getItemtext('FK01', $selected[0]));
replace('%Faehigkeit2%', getItemtext('FK01', $selected[1]));
by SoSci Survey (81.7k points)
Vielen Dank, das hat auch mit den vordefinierten Antwortoptionen super geklappt. Es gibt aber auch 2 zusätzliche undefinierte Antwortoptionen wo der Proband seine Fähigkeit in ein Feld eintippen kann. Die Info wird leider nicht übertragen. Wissen Sie was ich meine?
Beste Grüße Robert Lust
Für diesen Fall müssen Sie noch value() verwenden. Hier mal mit FOR-Schleife, damit es übersichtlich bleibt. Und mal angenommen, dass die Items 9 und 10 die offenen Eingabefelder haben - sonst müssen Sie anpassen.

$selected = getItems('FK01', 'is', 2);
foreach ($selected as $i => $itemID) {
  if (in_array($itemID, array(9, 10)) {
    $text = value(id('FK01', $itemID).'a');
  } else {
    $text = getItemtext('FK01', $selected[0]);
  }
  replace('%Faehigkeit'.($i+1).'%', $text);
}
Wau, ich bin begeistert :-)
1000 Dank und einen schönen Abend
Hallo,
ich habe gerade festgestellt, dass jetzt zwar undefinierten Antwortoptionen mit Eingabefeld funktionieren, aber bei den vordefinierten 2x die gleiche Fähigkeit eingesetzt wird, statt Fähigkeit 1 und dann Fähigkeit 2. Könnten Sie mir bitte noch einmal helfen?
Hier sieht man, dass 2x Offenheit genommen wurde. (Kennung 07 ist "Innere Ruhe"


[Information]    Interview Nummer 242 wird fortgesetzt
[Information]    Der Fragebogen base im Projekt innere-staerke wird verwendet
[Information]    Die Verweildauer auf Seite 8 betrug zusätzliche 111 Sekunden
[Verarbeitung]    Lese Antworten von Seite 8
[Information]    Antwort auf FK01_01 = 1
[Information]    Antwort auf FK01_02 = 1
[Information]    Antwort auf FK01_03 = 1
[Information]    Antwort auf FK01_04 = 1
[Information]    Antwort auf FK01_05 = 1
[Information]    Antwort auf FK01_06 = 2
[Information]    Antwort auf FK01_07 = 2
[Information]    Antwort auf FK01_08 = 1
[Information]    Antwort auf FK01_09 = 1
[Information]    Antwort auf FK01_10 = 1
[Information]    Antwort auf FK01_11 = 1
[Information]    Antwort auf FK01_12 = 1
[Information]    Keine Antwort für FK01_12a
[Information]    Antwort auf FK01_13 = 1
[Information]    Keine Antwort für FK01_13a
[Information]    Antwort auf FK01 = 2
[Information]    Fragen bisher zu 88% vollständig beantwortet
[Verarbeitung]    Erstelle Seite 9 in Fragebogen base
[Inhalt]    Zeige Text F1
[Inhalt]    Erstelle Frage F101
[Inhalt]    Erstelle Frage F103
[Information]    Folgende Platzhalter sind vorbereitet:
%Faehigkeit1% = (Text) Offenheit
%Faehigkeit2% = (Text) Offenheit

Das war das Skript
$selected = getItems('FK01', 'is', 2);
foreach ($selected as $i => $itemID) {
  if (in_array($itemID, array(12, 13))) {
    $text = value(id('FK01', $itemID).'a');
  } else {
    $text = getItemtext('FK01', $selected[0]);
  }
  replace('%Faehigkeit'.($i+1).'%', $text);
}
In dieser Zeile ist noch ein kleiner Fehler:

$text = getItemtext('FK01', $selected[0]);

Es müsste heißen:

$text = getItemtext('FK01', $itemID);
...