Select_one
Select_one-Fragen ermöglichen es Befragten, genau eine Option aus einer vordefinierten Liste auszuwählen.
Der Fragetyp select_one fordert den Befragten auf, genau eine Option aus einer vordefinierten Liste auszuwählen. Standardmäßig werden die Auswahlmöglichkeiten als Optionsfelder (Radio Buttons) dargestellt, es stehen jedoch zahlreiche Erscheinungsoptionen zur Verfügung, um Layout und Verhalten anzupassen.
Grundlegende XLSForm-Spezifikation
survey-Arbeitsblatt:
| type | name | label |
|---|---|---|
| select_one yesno | consent | Hat der Befragte seine Zustimmung gegeben? |
choices-Arbeitsblatt:
| list_name | name | label |
|---|---|---|
| yesno | yes | Ja |
| yesno | no | Nein |
Der listname in select_one listname muss mit der Spalte list_name im choices-Arbeitsblatt übereinstimmen.
Weitere Details finden Sie in der XLSForm-Spezifikation.
Anwendungsbereiche
Select_one-Fragen werden verwendet für:
- Ja/Nein-Fragen
- Einzelantwort-Multiple-Choice (z. B. Bildungsstand, Geschlecht, Familienstand)
- Kategoriale Bewertungen (z. B. schlecht / mäßig / gut / ausgezeichnet)
- Kaskadierende (verknüpfte) Auswahlmenüs, bei denen die Optionen auf einer vorherigen Antwort basieren
- Auswahl von Land, Region, Bezirk oder anderen Verwaltungseinheiten
Erscheinungsoptionen
Geben Sie einen Wert in der Spalte appearance an, um die Darstellung der Auswahlmöglichkeiten zu ändern:
| Erscheinungsbild | Beschreibung |
|---|---|
| (keine) | Standard-Optionsfelder, eines pro Zeile |
minimal | Einzelnes Dropdown-Menü statt Optionsfeldern |
quick | Wechselt nach der Auswahl automatisch zur nächsten Frage (nur mobil) |
compact | Kompaktes Raster — Spaltenanzahl passt sich der Bildschirmbreite an |
compact-N | Kompaktes Raster mit N erzwungenen Spalten (z. B. compact-3) |
quickcompact | Kombiniert quick und compact |
quickcompact-N | Kombiniert quick und compact mit N erzwungenen Spalten |
horizontal | Auswahlmöglichkeiten in einer horizontalen Reihe (Web) |
horizontal-compact | Horizontal, kompakter Abstand (Web) |
likert | Likert-Skala — Beschriftungen oben, Optionsfelder unten |
label | Zeigt nur die Auswahlbeschriftungen ohne Eingabeelemente (zusammen mit list-nolabel verwenden) |
list-nolabel | Zeigt nur die Eingabeelemente ohne Beschriftungen (zusammen mit label verwenden) |
columns(N) | Anzeige in N Spalten (rtSurvey-Erweiterung, z. B. columns(3)) |
distress | Kessler Psychological Distress (K10) Widget mit emotionalen Symbolen |
search-api(...) | Dynamische Suche — lädt Auswahlmöglichkeiten zur Laufzeit von einer API |
Beispiel: Likert-Skala
| type | name | label | appearance |
|---|---|---|---|
| select_one satisfaction | service_rating | Wie zufrieden sind Sie mit dem Service? | likert |
Beispiel: Kompaktes 3-Spalten-Layout
| type | name | label | appearance |
|---|---|---|---|
| select_one regions | region | Region auswählen | compact-3 |
Kaskadierende Auswahlmenüs
Ein kaskadierendes (verknüpftes) Auswahlmenü filtert die Optionen basierend auf dem in einer vorherigen Frage gewählten Wert. Verwenden Sie die Spalte choice_filter mit dem Namen einer Spalte aus Ihrem choices-Arbeitsblatt.
survey:
| type | name | label | choice_filter |
|---|---|---|---|
| select_one province | province | Provinz auswählen | |
| select_one district | district | Bezirk auswählen | province_name = ${province} |
choices:
| list_name | name | label | province_name |
|---|---|---|---|
| province | nairobi | Nairobi | |
| province | mombasa | Mombasa | |
| district | westlands | Westlands | nairobi |
| district | kasarani | Kasarani | nairobi |
| district | nyali | Nyali | mombasa |
| district | likoni | Likoni | mombasa |
Wenn der Befragte nairobi auswählt, erscheinen in der Bezirksliste nur Westlands und Kasarani.
Der in choice_filter verwendete Spaltenname (z. B. province_name) muss im choices-Arbeitsblatt vorhanden sein. Das ${province} verweist auf das Umfragefeld namens province.
Verwendung des ausgewählten Werts in Ausdrücken
Verweisen Sie auf den ausgewählten Wert (nicht die Beschriftung) mit ${fieldname}:
relevant: ${consent} = 'yes'
Um statt des Werts die Auswahlbeschriftung zu erhalten, verwenden Sie choice-label():
calculate: choice-label(${education_level}, ${education_level})
Option “Sonstiges” mit Freitext
Ein verbreitetes Muster ist die Aufnahme einer “Sonstiges”-Option, die ein Textfeld einblendet:
| type | name | label | relevant |
|---|---|---|---|
| select_one occupation | job | Was ist Ihr Beruf? | |
| text | job_other | Bitte angeben | ${job} = 'other' |
choices:
| list_name | name | label |
|---|---|---|
| occupation | farmer | Landwirt |
| occupation | trader | Händler |
| occupation | student | Student |
| occupation | other | Sonstiges (bitte angeben) |
Empfohlene Vorgehensweisen
- Halten Sie die Listen kurz und gegenseitig ausschließend — falls Befragte mehrere Antworten geben könnten, verwenden Sie stattdessen
select_multiple. - Stellen Sie die häufigste Antwort an erster Stelle oder ordnen Sie lange Listen alphabetisch.
- Fügen Sie bei Bedarf immer eine Option “Weiß nicht” oder “Möchte nicht antworten” hinzu.
- Verwenden Sie
minimal(Dropdown) für Listen mit mehr als 7–8 Optionen auf mobilen Geräten, um Platz zu sparen. - Fügen Sie bei kaskadierenden Auswahlmenüs alle Filterspalten im choices-Arbeitsblatt hinzu, bevor Sie das Formular erstellen.
Einschränkungen
- Ein Befragter kann nur eine Option auswählen — verwenden Sie
select_multiplefür Mehrfachantworten. - Das
likert-Erscheinungsbild funktioniert am besten mit 5–7 Optionen, die in eine Zeile passen. - Der automatische Weitersprung
quickgilt nur für mobile Geräte und hat keinen Effekt auf Webformulare.