Typ otázky select_multiple zobrazuje zoznam, kde respondent môže vybrať jednu alebo viacero možností. Predvolene sa voľby renderujú ako zaškrtávacie políčka. Uložená hodnota je zoznam oddelený medzerami zo všetkých vybraných hodnôt volieb.

Základná špecifikácia XLSForm

Hárok survey:

typenamelabel
select_multiple cropscrops_grownAké plodiny pestuje domácnosť?

Hárok choices:

list_namenamelabel
cropsmaizeKukurica
cropsbeansFazuľa
cropsriceRyža
cropsvegetablesZelenina
cropsotherIné

Pre viac podrobností pozrite si špecifikáciu XLSForm.

Formát uložených dát

Exportovaný stĺpec obsahuje zoznam vybraných hodnôt oddelených medzerami:

  maize beans vegetables
  

Pri testovaní hodnôt select_multiple vo výrazoch používajte funkciu selected() — nie = (pozri nižšie).

Použitia

Otázky select_multiple sa používajú pre:

  1. Zber viacerých platných odpovedí (napr. zdroje príjmu, pestované plodiny, príznaky)
  2. Položky so zaškrtávacím políčkom (napr. „Vyberte všetky, ktoré platia")
  3. Inventáre jazykov alebo zručností
  4. Akúkoľvek otázku, kde je súčasne platných viac odpovedí

Možnosti vzhľadu

VzhľadPopis
(žiadny)Predvolené zaškrtávacie políčka, jedno na riadok
minimalWidget viacnásobného výberu z rozbaľovacieho zoznamu
compactKompaktná mriežka, stĺpce sa prispôsobujú šírke obrazovky
compact-NKompaktná mriežka nútená do N stĺpcov
horizontalVoľby usporiadané horizontálne v rade (web)
horizontal-compactHorizontálne, kompaktné rozostupy (web)
labelZobrazuje iba popisky, žiadne zaškrtávacie políčka (použite s list-nolabel)
list-nolabelZobrazuje iba zaškrtávacie políčka, žiadne popisky (použite s label)
columns(N)Zobrazenie v N stĺpcoch (rozšírenie rtSurvey)

Príklad: Kompaktné rozloženie s 3 stĺpcami

typenamelabelappearance
select_multiple symptomssymptomsVyberte všetky pozorované príznakycompact-3

Použitie selected() vo výrazoch

Keďže uložená hodnota je reťazec oddelený medzerami, musíte použiť selected() na testovanie, či bola konkrétna voľba vybraná. Použitie = nebude fungovať správne.

V relevant

Zobrazenie následnej otázky iba ak bolo vybrané „iné":

typenamelabelrelevant
select_multiple cropscrops_grownAké plodiny sa pestujú?
textcrops_otherProsím uveďte iné plodinyselected(${crops_grown}, 'other')

V constraint

Vyžadovanie aspoň 2 volieb:

typenameconstraintconstraint_message
select_multiple issuesissuescount-selected(.) >= 2Vyberte aspoň 2 problémy

Obmedzenie na maximum 3:

typenameconstraintconstraint_message
select_multiple prioritiesprioritiescount-selected(.) <= 3Vyberte najviac 3 priority

V calculate — spájanie vybraných popiskov

Kombinujte selected-at(), count-selected() a choice-label() na zostavenie čitateľného súhrnu:

typenamecalculation
calculatecrops_summaryjoin(’, ‘, ${crops_grown})

Možnosť „Žiadne z vyššie uvedených" / exkluzívna možnosť

Bežným vzorom je urobiť jednu možnosť vzájomne exkluzívnou so všetkými ostatnými. Použite constraint na jej vynútenie:

typenamelabelconstraintconstraint_message
select_multiple issuesissuesVyberte všetky prítomné problémynot(selected(., 'none') and count-selected(.) > 1)„Žiadne" nie je možné vybrať spolu s inými možnosťami

choices:

list_namenamelabel
issueswaterNedostatok vody
issuesroadsZlé cesty
issueshealthNedostatok zdravotných služieb
issuesnoneŽiadne z vyššie uvedených

Počítanie a sumarizovanie výberov

FunkciaPríkladVýsledok
count-selected(field)count-selected(${crops_grown})Počet vybraných volieb
selected(field, value)selected(${crops_grown}, 'maize')true/false
selected-at(field, index)selected-at(${crops_grown}, 0)Prvá vybraná hodnota
choice-label(field, value)choice-label(${crops_grown}, 'maize')Popisok pre hodnotu

Najlepšie postupy

  1. Vždy používajte selected() v relevant, constraint a calculate — nikdy = alebo !=.
  2. Pridajte obmedzenie na obmedzenie maximálneho počtu výberov, ak to dizajn otázky vyžaduje.
  3. Zahrňte možnosť „Žiadne" alebo „Nie je použiteľné", keď je platnou odpoveďou nula výberov.
  4. Pre dlhé zoznamy (15+ volieb) použite minimal (rozbaľovací zoznam s viacnásobným výberom), aby ste sa vyhli nadmernému rolovaniu.
  5. Exportujte dáta a pri analýze použite rozdelenie reťazca — formát oddelený medzerami vyžaduje rozdelenie pred otočením.

Obmedzenia

  • Hodnoty select_multiple nemôžu byť priamo porovnávané pomocou =. Vždy používajte selected().
  • Kompaktný vzhľad sa nemusí dobre renderovať pri veľmi dlhých popisoch volieb.
  • Pri filtrovaní volieb pomocou choice_filter sa filtrovanie vzťahuje na všetky zobrazené voľby, rovnako ako pri select_one.
Bola táto stránka užitočná?