Matrix Question Column | XM Community
Skip to main content

  1. I would like for the Project/Assgn and Percentage columns to freeze (not scroll). That way when the respondents are looking at later months, they can still see the Project/Assgn and Percentage columns.

  2. I would like to add (sum) the percentages in the rows in the Percentage column so that when the respondent enters numbers, they add up (sum...total) at the end of the column.

I've looked in the community discussions and have found similar topics, but nothing that will help my situation. Thank you!
Screenshot 2022-10-03 113835.jpg

SuBob
You can include below CSS in html to freeze panes. Please note I have considered medium as length of text box in matrix question.

Hope this helps!


Yes, this helps a lot! Thanks!
Do you have any info about the 2nd question...I would like to add (sum) the percentages in the rows in the Percentage column so that when the respondent enters numbers, they add up (sum...total) at the end of the column.


SuBob
You can use the below code for your second question:
You will have to change the QIDs by inspecting that column, I have created this for 8 rows as per your image.
Qualtrics.SurveyEngine.addOnload(function()
{/*** To add default 0 value in total column and make it non-editable, add total column ID below****/
jQuery('[id="QR~QID1~11~3~TEXT"]').val("0").attr("readonly",true);
});

Qualtrics.SurveyEngine.addOnReady(function()
 {
/*** Your Question ID below****/
jQuery(''id="QID1"]').on("change",function(){
setTimeout(function(){
/*** Your first cell ID and all others in a column ****/
var num1 = parseInt(document.getElementById('QR~QID1~1~3~TEXT').value);
var num2 = parseInt(document.getElementById('QR~QID1~2~3~TEXT').value);
var num3 = parseInt(document.getElementById('QR~QID1~3~3~TEXT').value);
var num4 = parseInt(document.getElementById('QR~QID1~5~3~TEXT').value);
var num5 = parseInt(document.getElementById('QR~QID1~6~3~TEXT').value);
var num6 = parseInt(document.getElementById('QR~QID1~7~3~TEXT').value);
var num7 = parseInt(document.getElementById('QR~QID1~8~3~TEXT').value);
var num8 = parseInt(document.getElementById('QR~QID1~9~3~TEXT').value);
if (isNaN(num1)){

var num1 =0;
}
if (isNaN(num2)){
var num2 = 0;
}
if (isNaN(num3)){

var num3 = 0;
}
if (isNaN(num4)){

var num4 = 0;
}
if (isNaN(num5)){

var num5 = 0;
}
if (isNaN(num6)){

var num6 = 0;
}
if (isNaN(num7)){

var num7 = 0;
}
if (isNaN(num8)){

var num8 = 0;
}
var total = num1 + num2 + num3 + num4 + num5 +num6+ num7 + num8;
/*** Your Total Column ID below****/
jQuery(''id="QR~QID1~11~3~TEXT"]').val(total);
});

});
});
Hope this helps!


Leave a Reply