select_one question type उत्तरदाता को predefined list से ठीक एक विकल्प चुनने के लिए prompt करता है। Default रूप से choices radio buttons के रूप में render होती हैं, लेकिन layout और behavior बदलने के लिए appearance options की एक wide range उपलब्ध है।

Basic XLSForm Specification

survey worksheet:

typenamelabel
select_one yesnoconsentक्या उत्तरदाता ने consent दी?

choices worksheet:

list_namenamelabel
yesnoyesहाँ
yesnonoनहीं

select_one listname में listname choices worksheet के list_name column से match होना चाहिए।

अधिक जानकारी के लिए XLSForm specification देखें।

उपयोग

Select_one questions का उपयोग इनके लिए किया जाता है:

  1. हाँ/नहीं प्रश्न
  2. Single-answer multiple choice (जैसे education level, gender, marital status)
  3. Categorical ratings (जैसे poor / fair / good / excellent)
  4. Cascading (linked) selects जहाँ पिछले उत्तर के आधार पर choices filter होती हैं
  5. Country, region, district, या अन्य administrative unit selection

Appearance options

Choices कैसे प्रदर्शित होती हैं यह बदलने के लिए appearance column में एक value निर्दिष्ट करें:

Appearanceविवरण
(none)Default radio buttons, प्रति line एक
minimalRadio buttons के बजाय Single dropdown/spinner
quickचयन के तुरंत बाद अगले प्रश्न पर auto-advance (केवल mobile)
compactChoices का Compact grid — columns screen width के अनुसार adjust होते हैं
compact-NN columns (जैसे compact-3) पर forced Compact grid
quickcompactquick और compact को combine करता है
quickcompact-NN forced columns के साथ quick और compact को combine करता है
horizontalHorizontal row में arranged Choices (web)
horizontal-compactHorizontal, compact spacing (web)
likertLikert scale row — ऊपर labels, नीचे radio buttons
labelकेवल choice labels दिखाता है, कोई inputs नहीं (list-nolabel के साथ उपयोग करें)
list-nolabelकेवल inputs दिखाता है, कोई labels नहीं (label के साथ उपयोग करें)
columns(N)N columns में प्रदर्शित करें (rtSurvey extension, जैसे columns(3))
distressKessler Psychological Distress (K10) emotional icon widget
search-api(...)Dynamic search — runtime पर API से choices load करता है

उदाहरण: Likert scale

typenamelabelappearance
select_one satisfactionservice_ratingआप service से कितने संतुष्ट हैं?likert

उदाहरण: Compact 3 columns

typenamelabelappearance
select_one regionsregionRegion चुनेंcompact-3

Cascading selects

एक cascading (linked) select पिछले प्रश्न में चुने गए value के आधार पर choices filter करता है। अपनी choices worksheet से किसी column के नाम के साथ choice_filter column का उपयोग करें।

survey:

typenamelabelchoice_filter
select_one provinceprovinceProvince चुनें
select_one districtdistrictDistrict चुनेंprovince_name = ${province}

choices:

list_namenamelabelprovince_name
provincenairobiNairobi
provincemombasaMombasa
districtwestlandsWestlandsnairobi
districtkasaraniKasaraninairobi
districtnyaliNyalimombasa
districtlikoniLikonimombasa

जब उत्तरदाता nairobi चुनता है, तो district list में केवल Westlands और Kasarani दिखाई देते हैं।

Expressions में selected value का उपयोग करना

${fieldname} के साथ selected value (label नहीं) को reference करें:

  relevant: ${consent} = 'yes'
  

Value के बजाय choice label प्राप्त करने के लिए, choice-label() का उपयोग करें:

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

Free text के साथ “Other” विकल्प

एक सामान्य pattern “other” विकल्प शामिल करना है जो एक text field प्रकट करता है:

typenamelabelrelevant
select_one occupationjobआपका व्यवसाय क्या है?
textjob_otherकृपया निर्दिष्ट करें${job} = 'other'

choices:

list_namenamelabel
occupationfarmerकिसान
occupationtraderव्यापारी
occupationstudentछात्र
occupationotherअन्य (कृपया निर्दिष्ट करें)

Best Practices

  1. Lists को short और mutually exclusive रखें — यदि उत्तरदाता एक से अधिक चाहते हों, तो select_multiple का उपयोग करें।
  2. सबसे सामान्य उत्तर पहले रखें, या लंबी lists के लिए alphabetically order करें।
  3. जहाँ relevant हो हमेशा “Don’t know” या “Prefer not to answer” विकल्प शामिल करें।
  4. Screen space बचाने के लिए mobile पर 7–8 से अधिक choices वाली lists के लिए minimal (dropdown) का उपयोग करें।
  5. Cascading selects के लिए, form बनाने से पहले choices worksheet में सभी filter columns जोड़ें।

सीमाएं

  • एक उत्तरदाता केवल एक choice चुन सकता है — multi-answer questions के लिए select_multiple का उपयोग करें।
  • likert appearance 5–7 choices के साथ सबसे अच्छी तरह काम करती है जो एक line पर fit हों।
  • quick auto-advance केवल mobile है; web forms पर इसका कोई effect नहीं है।
क्या यह पृष्ठ सहायक था?