Select_one
សំណួរ select_one ឱ្យអ្នកឆ្លើយតបជ្រើសរើសជម្រើសមួយពីបញ្ជីដែលបានកំណត់ជាមុន។
ប្រភេទសំណួរ select_one ណែនាំអ្នកឆ្លើយតបឱ្យជ្រើសរើស ជម្រើសមួយគ្រាន់ ពីបញ្ជីដែលបានកំណត់ជាមុន។ ជាលំនាំដើម ជម្រើសបង្ហាញជា radio buttons ប៉ុន្តែ appearances ជាច្រើនមានដើម្បីផ្លាស់ប្តូររូបរាង និង behavior។
ការបញ្ជាក់ XLSForm មូលដ្ឋាន
survey worksheet:
| type | name | label |
|---|---|---|
| select_one yesno | consent | Did the respondent give consent? |
choices worksheet:
| list_name | name | label |
|---|---|---|
| yesno | yes | Yes |
| yesno | no | No |
listname ក្នុង select_one listname ត្រូវតែត្រូវជាមួយជួរ list_name ក្នុង choices worksheet។
សម្រាប់ព័ត៌មានបន្ថែម សូមមើល XLSForm specification។
ការប្រើប្រាស់
សំណួរ select_one ប្រើសម្រាប់:
- សំណួរ Yes/No
- Multiple choice ចម្លើយតែមួយ (ឧ. កម្រិតការសិក្សា ភេទ ស្ថានភាព)
- ការវាយតម្លៃ categorical (ឧ. ខ្សោយ / ធម្មតា / ល្អ / ល្អណាស់)
- Cascading (linked) selects ដែលជម្រើស filter ផ្អែកលើការឆ្លើយតបពីមុន
- ការជ្រើសរើស country, region, district ឬ administrative unit ផ្សេងទៀត
ជម្រើស appearance
បញ្ជាក់តម្លៃក្នុងជួរ appearance ដើម្បីផ្លាស់ប្តូររបៀបបង្ហាញជម្រើស:
| Appearance | ការពិពណ៌នា |
|---|---|
| (none) | Radio buttons លំនាំដើម មួយក្នុងមួយបន្ទាត់ |
minimal | Dropdown/spinner តែមួយជំនួស radio buttons |
quick | ឆ្លងទៅសំណួរបន្ទាប់ដោយស្វ័យប្រវត្តិ (mobile only) |
compact | Grid compact នៃជម្រើស — ចំនួនជួរឈរ adjusts ទៅ screen width |
compact-N | Grid compact ដែលបង្ខំ N ជួរឈរ (ឧ. compact-3) |
quickcompact | រួមបញ្ចូល quick និង compact |
quickcompact-N | រួមបញ្ចូល quick និង compact ជាមួយ N ជួរឈរ |
horizontal | ជម្រើសដាក់ជាជួរ horizontal (web) |
horizontal-compact | Horizontal, compact spacing (web) |
likert | ជួរ Likert scale — labels ខាងលើ radio buttons ខាងក្រោម |
label | បង្ហាញតែ labels ជម្រើសដោយគ្មាន inputs (ប្រើជាមួយ list-nolabel) |
list-nolabel | បង្ហាញតែ inputs ដោយគ្មាន labels (ប្រើជាមួយ label) |
columns(N) | បង្ហាញក្នុង N ជួរឈរ (ផ្នែកពង្រីករបស់ rtSurvey, ឧ. columns(3)) |
distress | Kessler Psychological Distress (K10) emotional icon widget |
search-api(...) | Dynamic search — ផ្ទុកជម្រើសពី API ក្នុង runtime |
ឧទាហរណ៍: Likert scale
| type | name | label | appearance |
|---|---|---|---|
| select_one satisfaction | service_rating | How satisfied are you with the service? | likert |
ឧទាហរណ៍: Compact 3 ជួរឈរ
| type | name | label | appearance |
|---|---|---|---|
| select_one regions | region | Select region | compact-3 |
Cascading selects
Cascading (linked) select filter ជម្រើសផ្អែកលើតម្លៃដែលបានជ្រើសរើសក្នុងសំណួរពីមុន។ ប្រើជួរ choice_filter ជាមួយឈ្មោះជួរ choices worksheet។
survey:
| type | name | label | choice_filter |
|---|---|---|---|
| select_one province | province | Select province | |
| select_one district | district | Select 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 បង្ហាញក្នុងបញ្ជី district។
ឈ្មោះជួរដែលប្រើក្នុង choice_filter (ឧ. province_name) ត្រូវតែមានក្នុង choices worksheet។ ${province} reference ទៅ field ដែលឈ្មោះ province ក្នុងការស្ទង់មតិ។
ការប្រើប្រាស់តម្លៃដែលបានជ្រើសរើសក្នុង expressions
Reference តម្លៃ ដែលបានជ្រើសរើស (មិនមែន label) ជាមួយ ${fieldname}:
relevant: ${consent} = 'yes'
ដើម្បីទទួលបាន label ជម្រើសជំនួសតម្លៃ ប្រើ choice-label():
calculate: choice-label(${education_level}, ${education_level})
ជម្រើស “Other” ជាមួយ free text
Pattern ទូទៅគឺបញ្ចូលជម្រើស “other” ដែលបង្ហាញ text field:
| type | name | label | relevant |
|---|---|---|---|
| select_one occupation | job | What is your occupation? | |
| text | job_other | Please specify | ${job} = 'other' |
choices:
| list_name | name | label |
|---|---|---|
| occupation | farmer | Farmer |
| occupation | trader | Trader |
| occupation | student | Student |
| occupation | other | Other (please specify) |
ការអនុវត្តល្អ
- រក្សាបញ្ជីខ្លី និង mutually exclusive — ប្រសិនបើអ្នកឆ្លើយតបប្រហែលចង់ជ្រើសរើសច្រើន ប្រើ
select_multipleជំនួស។ - ដាក់ចម្លើយទូទៅបំផុតមុន ឬតម្រៀបតាម alphabetical សម្រាប់បញ្ជីវែង។
- ដូចជារួមបញ្ចូលជម្រើស “Don’t know” ឬ “Prefer not to answer” ក្នុងករណីចាំបាច់។
- ប្រើ
minimal(dropdown) សម្រាប់បញ្ជីដែលមានជ្រើស 7–8 ច្រើនជាងនេះ លើ mobile ដើម្បីសន្សំ screen space។ - សម្រាប់ cascading selects បន្ថែម filter columns ទាំងអស់ក្នុង choices worksheet មុននឹងបង្កើត form។
ការដាក់កំហិត
- អ្នកឆ្លើយតបអាចជ្រើសរើសតែជម្រើសមួយ — ប្រើ
select_multipleសម្រាប់សំណួរ multi-answer។ likertappearance ល្អបំផុតជាមួយជម្រើស 5–7 ដែលជាប់ក្នុងបន្ទាត់មួយ។quickauto-advance គឺ mobile-only; វាមានគ្មានប្រសិទ្ធភាពលើ web forms។