Table of Contents
formatLikertMatrix - Improve usability of a Likert matrix in a variety of ways
The formatLikertMatrix function formats a likert matrix question by formatting the columns by percentage and enabling better control of repeat headers. It also optionally supports adding a divider line before the last column, adding mobile labels, and hiding selected cells.
Functionality includes:
- Format columns based on percentage width of label/statement column
- Reliably switches to and from mobile accordion mode
- Controls display of repeating header display when carry forward or display logic is used
- Controls vertical alignment of repeating headers
- Add 'NA' column divider line and adjust scale labels accordingly
- Display scale labels in mobile accordion mode
- Hide specified cells
- Compatible with matrixHighlightUnanswered
This function is available for a reasonable fee. Contact TomG on the Qualtrics Community to learn more.
Set-up Instructions
Survey Header
Add the formatLikertMatrix function to the survey header to make it available to any question in the survey. Go to Look & Feel → General → Header edit → and paste the provided formatLikertMatrix function JS:
<script>/*Paste formatLikertMatrix function JS here*/</script>
Alternatively, paste the formatLikertMatrix function JS into a question's JS outside the existing Qualtrics functions to make it available to questions on the page.
Matrix Question
Question Settings
Set the following single choice Likert Matrix options:
- Check Mobile Friendly
- Check Transpose if needed.
- Uncheck Position Text Above
- Select Repeat Headers options as needed. All Repeat Header options are supported.
Question JavaScript
Add JS to call the formatLikertMatrix function to apply it to the Likert Matrix question as follows:
Qualtrics.SurveyEngine.addOnload(function() { formatLikertMatrix(this); });
To override the default options, specify the desired options in the second function argument as an object. For example:
Qualtrics.SurveyEngine.addOnload(function() { formatLikertMatrix(this,{labelWidthPercent:30,lastNA:true}); });
Question/Choice Text
To specify text to be shown only in mobile accordion mode, place it inside a hidden span with the class mfInstr. For example:
1<span class="mfInstr" style="display:none;"> - Extremely Dissatisfied</span>
Options
allRepeatEvery
allRepeatEvery specifies how often to show repeated headers when Repeat Headers 'All' is checked.
Default: 1
hideCells
hideCells is an object that specifies the cells to be hidden. Format for specifying cells is:
scalePt:[choiceNum1,choiceNum2,…]
Example:
hideCells: {2:[1,4,7],6:[3,5]}
labelWidthPercent
labelWidthPercent specifies the width of the label column as a percentage of question width. The remaining width is divided evenly among the other columns.
Default: 35
lastNA
lastNA set to true to add a divider before the last column and adjust scale labels.
Default: false
midHeaderAlign
midHeaderAlign specifies the vertical alignment of repeated middle labels. Possible values are top, middle, and bottom.
Default: "middle"
minHeaderRepeatBot
minHeaderRepeatBot: specifies the minimum number of rows before showing repeated headers on bottom when 'Bottom' or 'Both' is turned on.
Default: 0
minHeaderRepeatMid
minHeaderRepeatMid specifies the minimum number of rows before showing repeated headers in the middle when 'Middle' or 'Both' is turned on.
Default: 0
NAdividerStyle
NAdividerStyle specifies the CSS style of the lastNA divider.
Default: "1px solid #BBBBBB"