
Multiple Choice Object
The Multiple Choice Object presents participants with a set of labeled options and records which one they select. Options can be static text labels or driven by Labvanced variables at runtime, making it straightforward to build dynamic questionnaires where option labels and submitted values change based on prior answers or experimental conditions. The selected response is stored in a linked string variable.
Table of Contents
Adding the Multiple Choice Object
In the task editor toolbar, open the Question Options group and select Multiple Choice to add the element to the current frame.
When the element is added, Labvanced prompts you to name the variable that will store the participant's selected response. The variable is a string type and records the submitted value of whichever option the participant chooses.
By default, two options are added automatically. You can add or remove options using the + and - controls in the Object Properties panel.
Object Properties
| Property | Default | Description |
|---|---|---|
Randomize Item Order | Off | When enabled, the order of options is randomized at the start of each trial. |
Link Item Order to Array | Off | When Randomize Item Order is on, stores the randomized order in a numeric array variable. Useful for recording presentation order in the data. |
Show Question Header | On | Shows the question text above the options. Edit the question text directly on the frame in the editor. |
Required | Off | When enabled, the participant cannot proceed until they have selected an option. |
Allow Custom Answer | Off | Adds a free-text entry field as an additional option at the bottom of the list. |
Show only if last option selected | Off | When Allow Custom Answer is enabled, keeps the free-text field hidden until the participant selects the last option. |
Adding and Configuring Options
Each option has two parts:
- Display label: The text shown to the participant. Click the option text directly on the frame in the editor to type or edit it. This is not editable in the Object Properties panel.
- Variable Value: The string recorded in the linked variable when the participant selects this option. Defaults to
option_1,option_2, etc. Change it in theVariable Valuecolumn of the Object Properties panel.
To add an option, click + in the Object Properties panel. To remove the last option, click -.
Per-Entry Variable Linking
Each option can be linked to a Labvanced variable. When a variable is linked to an option, both the display label and the submitted value are driven by that variable's current value at runtime rather than the static text and value set in the editor.
This makes it possible to:
- Build questionnaires where option labels change based on prior answers or experimental factors
- Load option content from a data frame for counterbalanced or personalized stimulus presentation
- Use the same Multiple Choice Object across conditions while varying what options say
To link a variable to an option:
In the Object Properties panel, locate the option entry and use the variable selector to choose an existing variable or create a new one. Once linked, the option's display label updates to show the variable name as a placeholder in the editor, and the variable's runtime value is used for both label and submitted value during the experiment.
Note: When a variable is linked, the static label and submitted value fields for that entry are overridden by the variable. If the variable has no value at runtime, the option renders empty.
Randomizing Option Order
Enable Randomize Item Order in the Object Properties panel to randomize the order in which options are presented to each participant at the start of each trial.
If you also need to record the presentation order for analysis (for example, to account for order effects), enable Link Item Order to Array and provide a variable name. This creates a numeric array variable that stores the shuffled order as a sequence of option index numbers, recorded at trial end alongside the participant's response.
Custom Answer
Enable Allow Custom Answer to add a free-text entry field as an additional option at the bottom of the list. Participants who select it can type a custom response. The typed value is recorded in the main linked variable in place of a static submitted value.
Enable Show only if last option selected to keep the text field hidden until the participant selects the last option in the list. This is a common pattern for "Other (please specify)" designs.
Variable Integration
The Multiple Choice Object is linked to one string variable, created when you add the element. When a participant selects an option, the submitted value for that option is written to the variable and recorded at trial end.
- If the option uses a static submitted value, that string is recorded.
- If the option is linked to a variable, the runtime value of that linked variable is recorded.
- If
Allow Custom Answeris selected, the participant's typed text is recorded.
To relink the element to a different variable, use the variable selector in the Object Properties panel.
Further Reading
Working with Variables
How to create, configure, and record variables. Covers the string variable that stores the selected response and the array variable used to record randomized option order.
Data Frame Variables
How to load stimulus content from a CSV at runtime. Relevant when using per-entry variable linking to drive option labels and values from a data frame.
Event System
How triggers and actions are structured. Use the event system to branch experiment logic based on which option a participant selected.