Het vraagtype select_multiple toont een lijst waarbij de respondent één of meer opties kan selecteren. Standaard worden keuzes weergegeven als selectievakjes. De opgeslagen waarde is een door spaties gescheiden lijst van alle geselecteerde keuzewaarden.

Basis XLSForm-specificatie

survey-werkblad:

typenamelabel
select_multiple cropscrops_grownWelke gewassen verbouwt het huishouden?

choices-werkblad:

list_namenamelabel
cropsmaizeMaïs
cropsbeansBonen
cropsriceRijst
cropsvegetablesGroenten
cropsotherAnders

Opgeslagen gegevensformaat

De geëxporteerde kolom bevat een door spaties gescheiden lijst van geselecteerde waarden:

  maize beans vegetables
  

Gebruik de functie selected() — niet = — bij het testen van select_multiple-waarden in expressies (zie hieronder).

Toepassingen

Select_multiple-vragen worden gebruikt voor:

  1. Het verzamelen van meerdere toepasselijke antwoorden (bijv. inkomstenbronnen, verbouwde gewassen, symptomen)
  2. Selectievakjes voor overeenkomstitems (bijv. “Selecteer alles wat van toepassing is”)
  3. Taal- of vaardigheidsinventarissen
  4. Elke vraag waarbij meerdere antwoorden tegelijkertijd geldig zijn

Weergaveopties

WeergaveBeschrijving
(geen)Standaard selectievakjes, één per regel
minimalDropdown meervoudige selectiewidget
compactCompact raster, kolommen passen zich aan aan schermbreedte
compact-NCompact raster geforceerd naar N kolommen
horizontalKeuzes horizontaal in een rij gerangschikt (web)
horizontal-compactHorizontaal, compacte afstand (web)
labelToont alleen labels, geen selectievakjes (gebruik met list-nolabel)
list-nolabelToont alleen selectievakjes, geen labels (gebruik met label)
columns(N)Weergave in N kolommen (rtSurvey-uitbreiding)

selected() gebruiken in expressies

Omdat de opgeslagen waarde een door spaties gescheiden tekenreeks is, moet u selected() gebruiken om te testen of een specifieke keuze is geselecteerd. Het gebruik van = werkt niet correct.

In relevant

Toon een vervolgvraag alleen als “other” is geselecteerd:

typenamelabelrelevant
select_multiple cropscrops_grownWelke gewassen worden verbouwd?
textcrops_otherSpecificeer andere gewassenselected(${crops_grown}, 'other')

In constraint

Vereist minimaal 2 keuzes:

typenameconstraintconstraint_message
select_multiple issuesissuescount-selected(.) >= 2Selecteer minimaal 2 problemen

Beperken tot maximaal 3:

typenameconstraintconstraint_message
select_multiple prioritiesprioritiescount-selected(.) <= 3Selecteer niet meer dan 3 prioriteiten

“Geen van de bovenstaande” / exclusieve optie

Een veelgebruikt patroon is om één optie wederzijds exclusief te maken met alle anderen. Gebruik een constraint om dit te handhaven:

typenamelabelconstraintconstraint_message
select_multiple issuesissuesSelecteer alle aanwezige problemennot(selected(., 'none') and count-selected(.) > 1)“Geen” kan niet worden geselecteerd met andere opties

Selecties tellen en samenvatten

FunctieVoorbeeldResultaat
count-selected(veld)count-selected(${crops_grown})Aantal geselecteerde keuzes
selected(veld, waarde)selected(${crops_grown}, 'maize')true/false
selected-at(veld, index)selected-at(${crops_grown}, 0)Eerste geselecteerde waarde
choice-label(veld, waarde)choice-label(${crops_grown}, 'maize')Label voor een waarde

Aanbevolen werkwijzen

  1. Gebruik altijd selected() in relevant, constraint en calculate — nooit = of !=.
  2. Voeg een beperking toe om het maximale aantal selecties te beperken als het vraagontwerp dit vereist.
  3. Neem een optie “Geen” of “Niet van toepassing” op wanneer nul selecties een geldig antwoord is.
  4. Gebruik voor lange lijsten (15+ keuzes) minimal (meervoudige selectie dropdown) om overmatig scrollen te vermijden.

Beperkingen

  • Select_multiple-waarden kunnen niet direct worden vergeleken met =. Gebruik altijd selected().
  • De compacte weergave wordt mogelijk niet goed weergegeven voor zeer lange keuzelabels.
  • Bij het filteren van keuzes met choice_filter is het filteren van toepassing op alle weergegeven keuzes, net als bij select_one.
Was deze pagina nuttig?