====== 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 ===== 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]]