On this page
radio_button_checked
Select_one
Select_one 問題讓受訪者從預定義選項列表中選擇恰好一個選項。
select_one 問題類型提示受訪者從預定義列表中選擇恰好一個選項。預設情況下,選項以單選按鈕呈現,但有多種外觀選項可用於更改佈局和行為。
基本 XLSForm 規格
survey 工作表:
| type | name | label |
|---|---|---|
| select_one yesno | consent | 受訪者是否同意? |
choices 工作表:
| list_name | name | label |
|---|---|---|
| yesno | yes | 是 |
| yesno | no | 否 |
select_one listname 中的 listname 必須與 choices 工作表中的 list_name 欄相符。
有關更多詳細資訊,請參閱 XLSForm 規格。
用途
Select_one 問題用於:
- 是/否問題
- 單選多項選擇(例如教育程度、性別、婚姻狀況)
- 類別評分(例如差 / 普通 / 好 / 優秀)
- 級聯(連結)選擇,選項根據之前的答案篩選
- 國家、地區、縣市或其他行政單位選擇
外觀選項
在 appearance 欄中指定值以更改選項的顯示方式:
| 外觀 | 說明 |
|---|---|
| (無) | 預設單選按鈕,每行一個 |
minimal | 單個下拉選單/滾輪,而非單選按鈕 |
quick | 選擇後立即自動跳轉到下一個問題(僅限行動版) |
compact | 緊湊網格選項——欄數根據螢幕寬度調整 |
compact-N | 緊湊網格強制為 N 欄(例如 compact-3) |
quickcompact | 結合 quick 和 compact |
quickcompact-N | 結合 quick 和 compact,並強制 N 欄 |
horizontal | 選項水平排列在一行中(網頁) |
horizontal-compact | 水平,緊湊間距(網頁) |
likert | Likert 量表行——上方標籤,下方單選按鈕 |
label | 只顯示選項標籤,無輸入(與 list-nolabel 配對使用) |
list-nolabel | 只顯示輸入,無標籤(與 label 配對使用) |
columns(N) | 以 N 欄顯示(rtSurvey 擴展,例如 columns(3)) |
distress | Kessler 心理困擾量表(K10)情緒圖示小工具 |
search-api(...) | 動態搜尋——在執行時從 API 載入選項 |
範例:Likert 量表
| type | name | label | appearance |
|---|---|---|---|
| select_one satisfaction | service_rating | 您對服務的滿意度如何? | likert |
範例:緊湊 3 欄
| type | name | label | appearance |
|---|---|---|---|
| select_one regions | region | 選擇地區 | compact-3 |
級聯選擇
級聯(連結)選擇根據之前問題中選擇的值篩選選項。使用 choice_filter 欄,並使用 choices 工作表中某欄的名稱。
survey:
| type | name | label | choice_filter |
|---|---|---|---|
| select_one province | province | 選擇省份 | |
| select_one district | district | 選擇縣市 | 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 |
當受訪者選擇 nairobi 時,縣市列表中只顯示 Westlands 和 Kasarani。
choice_filter 中使用的欄名(例如 province_name)必須存在於 choices 工作表中。${province} 引用名為 province 的問卷調查字段。
在表達式中使用已選值
使用 ${fieldname} 引用已選擇的值(不是標籤):
relevant: ${consent} = 'yes'
要獲取選項標籤而非值,使用 choice-label():
calculate: choice-label(${education_level}, ${education_level})
帶有自由文字的「其他」選項
一個常見的模式是包含一個顯示文字字段的「其他」選項:
| type | name | label | relevant |
|---|---|---|---|
| select_one occupation | job | 您的職業是什麼? | |
| text | job_other | 請說明 | ${job} = 'other' |
choices:
| list_name | name | label |
|---|---|---|
| occupation | farmer | 農民 |
| occupation | trader | 商人 |
| occupation | student | 學生 |
| occupation | other | 其他(請說明) |
最佳實踐
- 保持列表簡短且互斥——如果受訪者可能需要多個選項,請改用
select_multiple。 - 將最常見的答案放在第一位,或對長列表按字母順序排列。
- 在相關情況下始終包含「不知道」或「不願回答」選項。
- 對於在行動裝置上超過 7–8 個選項的列表,使用
minimal(下拉選單)以節省螢幕空間。 - 對於級聯選擇,在構建表單之前先在 choices 工作表中添加所有篩選欄。
限制
- 受訪者只能選擇一個選項——對於多答案問題,請使用
select_multiple。 likert外觀最適合 5–7 個能放在一行的選項。quick自動跳轉僅適用於行動版;對網頁表單沒有效果。
此頁面有幫助嗎?