ប្រភេទសំណួរ select_one ណែនាំអ្នកឆ្លើយតបឱ្យជ្រើសរើស ជម្រើសមួយគ្រាន់ ពីបញ្ជីដែលបានកំណត់ជាមុន។ ជាលំនាំដើម ជម្រើសបង្ហាញជា radio buttons ប៉ុន្តែ appearances ជាច្រើនមានដើម្បីផ្លាស់ប្តូររូបរាង និង behavior។

ការបញ្ជាក់ XLSForm មូលដ្ឋាន

survey worksheet:

typenamelabel
select_one yesnoconsentDid the respondent give consent?

choices worksheet:

list_namenamelabel
yesnoyesYes
yesnonoNo

listname ក្នុង select_one listname ត្រូវតែត្រូវជាមួយជួរ list_name ក្នុង choices worksheet។

សម្រាប់ព័ត៌មានបន្ថែម សូមមើល XLSForm specification

ការប្រើប្រាស់

សំណួរ select_one ប្រើសម្រាប់:

  1. សំណួរ Yes/No
  2. Multiple choice ចម្លើយតែមួយ (ឧ. កម្រិតការសិក្សា ភេទ ស្ថានភាព)
  3. ការវាយតម្លៃ categorical (ឧ. ខ្សោយ / ធម្មតា / ល្អ / ល្អណាស់)
  4. Cascading (linked) selects ដែលជម្រើស filter ផ្អែកលើការឆ្លើយតបពីមុន
  5. ការជ្រើសរើស country, region, district ឬ administrative unit ផ្សេងទៀត

ជម្រើស appearance

បញ្ជាក់តម្លៃក្នុងជួរ appearance ដើម្បីផ្លាស់ប្តូររបៀបបង្ហាញជម្រើស:

Appearanceការពិពណ៌នា
(none)Radio buttons លំនាំដើម មួយក្នុងមួយបន្ទាត់
minimalDropdown/spinner តែមួយជំនួស radio buttons
quickឆ្លងទៅសំណួរបន្ទាប់ដោយស្វ័យប្រវត្តិ (mobile only)
compactGrid compact នៃជម្រើស — ចំនួនជួរឈរ adjusts ទៅ screen width
compact-NGrid compact ដែលបង្ខំ N ជួរឈរ (ឧ. compact-3)
quickcompactរួមបញ្ចូល quick និង compact
quickcompact-Nរួមបញ្ចូល quick និង compact ជាមួយ N ជួរឈរ
horizontalជម្រើសដាក់ជាជួរ horizontal (web)
horizontal-compactHorizontal, 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))
distressKessler Psychological Distress (K10) emotional icon widget
search-api(...)Dynamic search — ផ្ទុកជម្រើសពី API ក្នុង runtime

ឧទាហរណ៍: Likert scale

typenamelabelappearance
select_one satisfactionservice_ratingHow satisfied are you with the service?likert

ឧទាហរណ៍: Compact 3 ជួរឈរ

typenamelabelappearance
select_one regionsregionSelect regioncompact-3

Cascading selects

Cascading (linked) select filter ជម្រើសផ្អែកលើតម្លៃដែលបានជ្រើសរើសក្នុងសំណួរពីមុន។ ប្រើជួរ choice_filter ជាមួយឈ្មោះជួរ choices worksheet។

survey:

typenamelabelchoice_filter
select_one provinceprovinceSelect province
select_one districtdistrictSelect districtprovince_name = ${province}

choices:

list_namenamelabelprovince_name
provincenairobiNairobi
provincemombasaMombasa
districtwestlandsWestlandsnairobi
districtkasaraniKasaraninairobi
districtnyaliNyalimombasa
districtlikoniLikonimombasa

នៅពេលអ្នកឆ្លើយតបជ្រើសរើស nairobi តែ Westlands និង Kasarani បង្ហាញក្នុងបញ្ជី district។

ការប្រើប្រាស់តម្លៃដែលបានជ្រើសរើសក្នុង expressions

Reference តម្លៃ ដែលបានជ្រើសរើស (មិនមែន label) ជាមួយ ${fieldname}:

  relevant: ${consent} = 'yes'
  

ដើម្បីទទួលបាន label ជម្រើសជំនួសតម្លៃ ប្រើ choice-label():

  calculate: choice-label(${education_level}, ${education_level})
  

ជម្រើស “Other” ជាមួយ free text

Pattern ទូទៅគឺបញ្ចូលជម្រើស “other” ដែលបង្ហាញ text field:

typenamelabelrelevant
select_one occupationjobWhat is your occupation?
textjob_otherPlease specify${job} = 'other'

choices:

list_namenamelabel
occupationfarmerFarmer
occupationtraderTrader
occupationstudentStudent
occupationotherOther (please specify)

ការអនុវត្តល្អ

  1. រក្សាបញ្ជីខ្លី និង mutually exclusive — ប្រសិនបើអ្នកឆ្លើយតបប្រហែលចង់ជ្រើសរើសច្រើន ប្រើ select_multiple ជំនួស។
  2. ដាក់ចម្លើយទូទៅបំផុតមុន ឬតម្រៀបតាម alphabetical សម្រាប់បញ្ជីវែង។
  3. ដូចជារួមបញ្ចូលជម្រើស “Don’t know” ឬ “Prefer not to answer” ក្នុងករណីចាំបាច់។
  4. ប្រើ minimal (dropdown) សម្រាប់បញ្ជីដែលមានជ្រើស 7–8 ច្រើនជាងនេះ លើ mobile ដើម្បីសន្សំ screen space។
  5. សម្រាប់ cascading selects បន្ថែម filter columns ទាំងអស់ក្នុង choices worksheet មុននឹងបង្កើត form។

ការដាក់កំហិត

  • អ្នកឆ្លើយតបអាចជ្រើសរើសតែជម្រើសមួយ — ប្រើ select_multiple សម្រាប់សំណួរ multi-answer។
  • likert appearance ល្អបំផុតជាមួយជម្រើស 5–7 ដែលជាប់ក្នុងបន្ទាត់មួយ។
  • quick auto-advance គឺ mobile-only; វាមានគ្មានប្រសិទ្ធភាពលើ web forms។
តើទំព័រនេះមានប្រយោជន៍ទេ?