Radio Button Component

Radio Buttons

Function: a!radioButtonField()

Displays a limited set of choices from which the user must select one item and saves a value based on the selected choice. To save the index instead of a value, use radio buttons by index.

If the choice is not exclusive, then consider using checkboxes or a multiple dropdown component.

If there are many choices, make the component as large as necessary to display all the options. If a more compact presentation is desirable, consider using a dropdown component.

Parameters

Name Keyword Type Description
Label label Text Optional text to display as the field label.
Label Position labelPosition Text Optional text to determine where the label appears. Valid values include
  • "ABOVE" (default) Displays the label above the component.
  • "ADJACENT" Displays the label to the left of the component.
  • "COLLAPSED" Hides the label. The label will still be read by screen readers; see accessibility considerations for more information.
  • "JUSTIFIED" Aligns the label alongside the component starting at the edge of the page.
Instructions instructions Text Optional text displayed below the series of radio buttons.
Help Tooltip helpTooltip Text Displays a help icon with the specified text as a tooltip. The tooltip displays a maximum of 500 characters. The help icon does not show when the label position is "COLLAPSED".
Choice Labels choiceLabels Text Array List of options for the user to choose from.
Choice Values choiceValues Any Type List of values associated with the available choices.
Selected Value value Text Value corresponding to the selected choice.
Save Selection To saveInto Save Array One or more variables that are updated with the choice value when the user changes the selection. Use a!save() to save a modified or alternative value to a variable.
Required required Boolean Determines if a value is required to submit the form. Default is false.
Required Message requiredMessage Text Custom message to be displayed when the field's value is required and not provided.
Disabled disabled Boolean Determines if the user is prevented from changing the value. Default is false.
Choice Layout choiceLayout Text Optional text to determine the layout of the list of options. Valid values include "STACKED" (default) to display the choices one on top of another and "COMPACT" to display the choices side-by-side.
Validations validations Text Array Validation errors to be displayed below the field when the value is not null.
Validation Group validationGroup Text When present, this field is only validated when a button in the same validation group is clicked.
Visibility showWhen Boolean Determines whether the component is displayed on the interface. When set to false, the component is hidden and is not evaluated. Default: true.

Notes

  • Choices display in the same order as defined in the Choice Labels parameter. The Choice Labels argument cannot be null.
  • If null is passed to Selected Value, none of the options are selected.
  • Choice Labels and Choice Values must be the same length.
  • Choice Values cannot contain nulls or duplicate values.

Examples

Copy and paste an example into the INTERFACE DEFINITION in EXPRESSION MODE to see it displayed.

Editable Radio Button with No Default Selection

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
=load(
  local!language: null,
  a!radioButtonField(
    label: "Language",
    instructions: "In which language are you most proficient?",
    choiceLabels: {
      "English",
      "Spanish",
      "French",
      "German"
    },
    choiceValues: {
      "en_US",
      "es_ES",
      "fr_FR",
      "de_DE"
    },
    value: local!language,
    saveInto: local!language
  )
)

Displays the following:

Editable Radio Button with First Choice Selected by Default

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
=load(
  local!browser: "ffx",
  a!radioButtonField(
    label: "Browser",
    choiceLabels: {
      "Firefox",
      "Chrome",
      "Safari"
    },
    choiceValues: {
      "ffx",
      "chr",
      "sfr"
    },
    value: local!browser,
    saveInto: local!browser
  )
)

Displays the following:

FEEDBACK