Skip to main content

MatrixCheckboxResponse

Defined in: parser/types.ts:891

The MatrixCheckboxResponse interface defines a matrix where each row can select multiple options. questionOptions are rendered as rows, and answerOptions are rendered as columns. Defaults are specified per-row as arrays of selected answer option values.

Example using custom columns (answerOptions):

{
"id": "multi-custom",
"prompt": "Which categories do the following items belong to?",
"location": "aboveStimulus",
"type": "matrix-checkbox",
"answerOptions": [
"Has Legs",
"Has Wings",
"Can Swim"
],
"questionOptions": [
"Dog",
"Snake",
"Eagle",
"Salmon",
"Platypus"
],
"default": {
"Dog": ["Has Legs"],
"Snake": [],
"Eagle": ["Has Wings"],
"Salmon": ["Can Swim"],
"Platypus": ["Has Legs", "Can Swim"]
}
}

Extends​

  • BaseMatrixResponse

Properties​

PropertyTypeDescriptionInherited fromDefined in
answerOptions(string | StringOption)[] | "likely5" | "likely7" | "satisfaction5" | "satisfaction7"The answer options (columns). We provide some shortcuts for a likelihood scale (ranging from highly unlikely to highly likely) and a satisfaction scale (ranging from highly unsatisfied to highly satisfied) with either 5 or 7 options to choose from.BaseMatrixResponse.answerOptionsparser/types.ts:812
default?Record<string, string[]>The default value of the response by question key. Provide an object where each key is a question value and each value is an array of selected answer option values.-parser/types.ts:894
delay?numberDelay in milliseconds before an element activates. Must be non-negative; defaults to 0 meaning the element is always active. Minimum 0BaseMatrixResponse.delayparser/types.ts:520
excludeFromRandomization?booleanExclude response from randomization. If present, will override the responseOrder randomization setting in the components. Defaults to false.BaseMatrixResponse.excludeFromRandomizationparser/types.ts:516
hidden?booleanControls whether the response is hidden.BaseMatrixResponse.hiddenparser/types.ts:506
idstringThe id of the response. This is used to identify the response in the data file.BaseMatrixResponse.idparser/types.ts:486
infoText?stringThe description that is displayed when the participant hovers over the response. This does not accept markdown.BaseMatrixResponse.infoTextparser/types.ts:494
location?ConfigResponseBlockLocationControls the response location. These might be the same for all responses, or differ across responses. Defaults to belowStimulusBaseMatrixResponse.locationparser/types.ts:498
max?numberThe maximum amount of answers given per row for the matrix.-parser/types.ts:898
min?numberThe minimum amount of answers given per row for the matrix.-parser/types.ts:896
onSubmit?GlobalStoreAction[]Apply these actions to the final submitted answer, in declared order.BaseMatrixResponse.onSubmitparser/types.ts:484
paramCapture?stringUse to capture querystring parameters in answers such as participant_name. See the examples for how this is used, but prefer uiConfig.urlParticipantIdParam if you are capturing a participant ID.BaseMatrixResponse.paramCaptureparser/types.ts:504
path?stringPath under src/public/ to response code. Custom responses require a default React component. Any response code module may export validate(value, values, response) to return an error message, a boolean validity result, or null for valid input. It may separately export score(value, values, response, expected?) to return a boolean or a score from 0 to 1; null uses ordinary correct-answer matching. expected is the configured correct answer when correctness is checked.BaseMatrixResponse.pathparser/types.ts:488
promptstringThe prompt that is displayed to the participant. You can use markdown here to render images, links, etc.BaseMatrixResponse.promptparser/types.ts:490
questionOptions(string | MatrixQuestionOption)[]The question options (rows) are the prompts for each response you'd like to record. Use leftLabel and rightLabel on object options to display bipolar row labels such as "Obstructive - Supportive" on either side of the matrix.BaseMatrixResponse.questionOptionsparser/types.ts:814
questionOrder?"fixed" | "random"The order in which the questions are displayed. Defaults to fixed.BaseMatrixResponse.questionOrderparser/types.ts:816
required?booleanControls whether the response is required to be answered. Defaults to true.BaseMatrixResponse.requiredparser/types.ts:496
requiredLabel?stringYou can provide a required label, which makes it so a participant has to answer with a response that matches label.BaseMatrixResponse.requiredLabelparser/types.ts:502
requiredValue?unknownYou can provide a required value, which makes it so a participant has to answer with that value.BaseMatrixResponse.requiredValueparser/types.ts:500
secondaryText?stringThe secondary text that is displayed to the participant under the prompt. This does not accept markdown.BaseMatrixResponse.secondaryTextparser/types.ts:492
style?StylesYou can set styles here, using React CSSProperties, for example: {"width": 100} or {"width": "50%"}BaseMatrixResponse.styleparser/types.ts:514
stylesheetPath?stringThe path to the external stylesheet file.BaseMatrixResponse.stylesheetPathparser/types.ts:512
type"matrix-checkbox"--parser/types.ts:892
visibleIf?ResponseVisibilityConditionShow this response only when another response in this component satisfies the condition.BaseMatrixResponse.visibleIfparser/types.ts:518
withDivider?booleanRenders the response with a trailing divider. If present, will override the divider setting in the components or uiConfig.BaseMatrixResponse.withDividerparser/types.ts:508
withDontKnow?booleanRenders the response with an option for "I don't know". This counts as a completed answer for the validation.BaseMatrixResponse.withDontKnowparser/types.ts:510