====== 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|matrixHighlightUnanswered]]**
This function is available for a reasonable fee. Contact **[[https://community.qualtrics.com/inbox/conversation?with=373|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 -> {{::icon_source.jpg?20|}} and paste the provided formatLikertMatrix function JS:
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 **[[formatlikertmatrix#options|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 - Extremely Dissatisfied
===== 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 **[[formatlikertmatrix#lastNA|lastNA]]** divider.
Default: %%"1px solid #BBBBBB"%%
====== Qualtrics Wiki ======
[[start|Qualtrics Wiki]]