Single select field

Use single_select when you want respondents to choose one option from a dropdown.

Configuration

NameTypeRequiredDefaultDescription
optionsstring[]Yesn/aChoices shown in the dropdown.
placeholderstringNoA “select an option” prompt in the form’s languageText shown before an option is chosen. Supports {{field}} piping.
defaultValuestringNoNoneOption selected initially. Must match one of options; may be a {{hidden_name}} reference.
scoringnumber[]NoNone; each option scores 0 when omittedScore for each option, in the same order as options. All-zero scoring is removed when the form is published.
capacity(integer or null)[]NoNone; no limitMaximum responses for each option, in the same order as options. Each entry is an integer from 0 to 999,999, or null for no limit.
answer_explanationstringNoNoneExplanation shown with this question in a result_breakdown block.
randomizebooleanNofalseWhether each respondent sees the options in a different order.

Fields also accept shared field properties.

Validation

If the field is required and the respondent has not selected an option, they cannot continue to the next page or submit. An option that has reached its capacity cannot be selected.

Submission value

The answer is stored as a string containing the selected option. Choices on pages the respondent skips are dropped before the submission is stored.

For a field named country, a selected value could look like:

{ "country": "Canada" }

Scoring and result breakdowns

If you use this field in a result_breakdown block, the form needs at least one single-answer choice question with exactly one positive-scoring option and zero for every other option.

Example

{ "type": "single_select", "name": "country", "label": "Where are you based?", "placeholder": "Choose a country", "options": ["United States", "Canada", "United Kingdom", "Germany", "Australia"], "scoring": [0, 0, 1, 0, 0], "capacity": [null, null, null, null, null], "answer_explanation": "Choose the country where your team is based.", "randomize": true, "required": true }