Тип питання select_multiple відображає список, де респондент може вибрати один або більше варіантів. За замовчуванням варіанти відображаються як прапорці. Збережене значення — це список обраних значень варіантів, розділений пробілами.

Базова специфікація XLSForm

Таблиця survey:

typenamelabel
select_multiple cropscrops_grownWhich crops does the household grow?

Таблиця choices:

list_namenamelabel
cropsmaizeMaize
cropsbeansBeans
cropsriceRice
cropsvegetablesVegetables
cropsotherOther

Для отримання додаткових відомостей дивіться специфікацію XLSForm.

Формат збережених даних

Експортований стовпець містить список обраних значень, розділений пробілами:

  maize beans vegetables
  

Використовуйте функцію selected() — а не = — при перевірці значень select_multiple у виразах (дивіться нижче).

Використання

Питання select_multiple використовуються для:

  1. Збору кількох застосовних відповідей (наприклад, джерела доходу, вирощувані культури, симптоми)
  2. Елементів погодження у вигляді прапорців (наприклад, “Виберіть всі, що застосовуються”)
  3. Інвентарів мов або навичок
  4. Будь-якого питання, де одночасно дійсні кілька відповідей

Параметри appearance

AppearanceОпис
(none)Прапорці за замовчуванням, по одному на рядок
minimalВіджет мульти-вибору випадаючого списку
compactКомпактна сітка, стовпці адаптуються до ширини екрана
compact-NКомпактна сітка, примусово N стовпців
horizontalВаріанти розташовані горизонтально в рядок (веб)
horizontal-compactГоризонтальне, компактне розташування (веб)
labelПоказує лише мітки, без прапорців (використовується з list-nolabel)
list-nolabelПоказує лише прапорці, без міток (використовується з label)
columns(N)Відображення в N стовпцях (розширення rtSurvey)

Приклад: Компактний макет у 3 стовпці

typenamelabelappearance
select_multiple symptomssymptomsSelect all symptoms observedcompact-3

Використання selected() у виразах

Оскільки збережене значення — це рядок, розділений пробілами, ви повинні використовувати selected() для перевірки, чи був обраний конкретний варіант. Використання = не працюватиме правильно.

У relevant

Показати подальше питання лише якщо обрано “other”:

typenamelabelrelevant
select_multiple cropscrops_grownWhich crops are grown?
textcrops_otherPlease specify other cropsselected(${crops_grown}, 'other')

У constraint

Вимагати щонайменше 2 варіанти:

typenameconstraintconstraint_message
select_multiple issuesissuescount-selected(.) >= 2Select at least 2 issues

Обмежити до максимум 3:

typenameconstraintconstraint_message
select_multiple prioritiesprioritiescount-selected(.) <= 3Select no more than 3 priorities

У calculate — об’єднання обраних міток

Об’єднайте selected-at(), count-selected() та choice-label() для побудови читабельного зведення:

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

Варіант “Жоден з перерахованих” / виключний варіант

Поширений шаблон — зробити один варіант взаємовиключним з усіма іншими. Використовуйте constraint для забезпечення цього:

typenamelabelconstraintconstraint_message
select_multiple issuesissuesSelect all issues presentnot(selected(., 'none') and count-selected(.) > 1)“None” cannot be selected with other options

Таблиця choices:

list_namenamelabel
issueswaterWater shortage
issuesroadsPoor roads
issueshealthLack of health services
issuesnoneNone of the above

Підрахунок та зведення виборів

ФункціяПрикладРезультат
count-selected(field)count-selected(${crops_grown})Кількість обраних варіантів
selected(field, value)selected(${crops_grown}, 'maize')true/false
selected-at(field, index)selected-at(${crops_grown}, 0)Перше обране значення
choice-label(field, value)choice-label(${crops_grown}, 'maize')Мітка для значення

Найкращі практики

  1. Завжди використовуйте selected() в relevant, constraint та calculate — ніколи = або !=.
  2. Додайте обмеження для обмеження максимальної кількості виборів, якщо дизайн питання вимагає цього.
  3. Включайте варіант “Жоден” або “Не застосовується”, коли нульова кількість виборів є дійсною відповіддю.
  4. Для довгих списків (15+ варіантів) використовуйте minimal (мульти-вибір випадаючого списку) для уникнення надмірного прокручування.
  5. Експортуйте дані та використовуйте розбиття рядків у вашому інструменті аналізу — формат, розділений пробілами, вимагає розбиття перед зведенням.

Обмеження

  • Значення select_multiple не можна безпосередньо порівнювати з =. Завжди використовуйте selected().
  • Appearance compact може відображатися не дуже добре для дуже довгих міток варіантів.
  • При фільтрації варіантів за допомогою choice_filter, фільтрація застосовується до всіх відображуваних варіантів, так само як у select_one.
Чи була ця сторінка корисною?