Typ pytania select_one umożliwia respondentowi wybranie dokładnie jednej opcji z predefiniowanej listy. Domyślnie opcje są wyświetlane jako przyciski radiowe, ale dostępny jest szeroki zakres opcji wyglądu umożliwiających zmianę układu i zachowania.

Podstawowa specyfikacja XLSForm

Arkusz survey:

typenamelabel
select_one yesnoconsentCzy respondent wyraził zgodę?

Arkusz choices:

list_namenamelabel
yesnoyesTak
yesnonoNie

Wartość listname w select_one listname musi odpowiadać kolumnie list_name w arkuszu choices.

Więcej szczegółów znajdziesz w specyfikacji XLSForm.

Zastosowania

Pytania select_one są używane do:

  1. Pytań tak/nie
  2. Pytań jednokrotnego wyboru (np. poziom wykształcenia, płeć, stan cywilny)
  3. Ocen kategorycznych (np. słaby / dostateczny / dobry / doskonały)
  4. Kaskadowych (powiązanych) list wyboru, gdzie opcje są filtrowane na podstawie poprzedniej odpowiedzi
  5. Wyboru kraju, regionu, powiatu lub innej jednostki administracyjnej

Opcje wyglądu

Podaj wartość w kolumnie appearance, aby zmienić sposób wyświetlania opcji:

WyglądOpis
(brak)Domyślne przyciski radiowe, jeden w wierszu
minimalPojedyncza lista rozwijana zamiast przycisków radiowych
quickAutomatyczne przejście do następnego pytania natychmiast po wyborze (tylko mobilne)
compactZwarta siatka opcji — liczba kolumn dostosowuje się do szerokości ekranu
compact-NZwarta siatka z wymuszeniem N kolumn (np. compact-3)
quickcompactŁączy quick i compact
quickcompact-NŁączy quick i compact z N wymuszonymi kolumnami
horizontalOpcje ułożone w poziomym rzędzie (web)
horizontal-compactPoziome, zwarte odstępy (web)
likertWiersz skali Likerta — etykiety powyżej, przyciski radiowe poniżej
labelPokazuje tylko etykiety opcji bez pól wyboru (użyj w parze z list-nolabel)
list-nolabelPokazuje tylko pola wyboru bez etykiet (użyj w parze z label)
columns(N)Wyświetlanie w N kolumnach (rozszerzenie rtSurvey, np. columns(3))
distressWidget ikon emocji Kessler Psychological Distress (K10)
search-api(...)Dynamiczne wyszukiwanie — ładuje opcje z API w czasie rzeczywistym

Przykład: Skala Likerta

typenamelabelappearance
select_one satisfactionservice_ratingJak bardzo jesteś zadowolony z usługi?likert

Przykład: Zwarte 3 kolumny

typenamelabelappearance
select_one regionsregionWybierz regioncompact-3

Kaskadowe listy wyboru

Kaskadowa (powiązana) lista wyboru filtruje opcje na podstawie wartości wybranej w poprzednim pytaniu. Użyj kolumny choice_filter z nazwą kolumny z arkusza choices.

survey:

typenamelabelchoice_filter
select_one provinceprovinceWybierz województwo
select_one districtdistrictWybierz powiatprovince_name = ${province}

choices:

list_namenamelabelprovince_name
provincenairobiNairobi
provincemombasaMombasa
districtwestlandsWestlandsnairobi
districtkasaraniKasaraninairobi
districtnyaliNyalimombasa
districtlikoniLikonimombasa

Gdy respondent wybierze nairobi, na liście powiatów pojawią się tylko Westlands i Kasarani.

Używanie wybranej wartości w wyrażeniach

Odwołaj się do wybranej wartości (nie etykiety) za pomocą ${fieldname}:

  relevant: ${consent} = 'yes'
  

Aby uzyskać etykietę opcji zamiast wartości, użyj choice-label():

  calculate: choice-label(${education_level}, ${education_level})
  

Opcja „inne" z polem tekstowym

Powszechnym wzorcem jest dodanie opcji „inne", która odsłania pole tekstowe:

typenamelabelrelevant
select_one occupationjobJaki jest Twój zawód?
textjob_otherProszę podać${job} = 'other'

choices:

list_namenamelabel
occupationfarmerRolnik
occupationtraderHandlarz
occupationstudentStudent
occupationotherInne (proszę podać)

Najlepsze praktyki

  1. Utrzymuj krótkie i wzajemnie wykluczające się listy — jeśli respondenci mogą wybrać więcej niż jedną opcję, użyj select_multiple.
  2. Umieść najczęstszą odpowiedź na początku lub posortuj alfabetycznie w przypadku długich list.
  3. Zawsze uwzględniaj opcję „Nie wiem" lub „Wolę nie odpowiadać" tam, gdzie jest to właściwe.
  4. Używaj minimal (lista rozwijana) dla list z ponad 7–8 opcjami na urządzeniach mobilnych, aby oszczędzać miejsce na ekranie.
  5. W przypadku kaskadowych list, przed zbudowaniem formularza dodaj wszystkie kolumny filtrów w arkuszu choices.

Ograniczenia

  • Respondent może wybrać tylko jedną opcję — do pytań z wieloma odpowiedziami użyj select_multiple.
  • Wygląd likert działa najlepiej z 5–7 opcjami mieszczącymi się w jednej linii.
  • Automatyczne przejście quick jest dostępne tylko na urządzeniach mobilnych — nie ma efektu w formularzach webowych.
Czy ta strona była pomocna?