Q-sort task in Qualtrics | XM Community
Skip to main content

I'm designing a survey that contains Q-sort task. It seems that Q-sort task can only be implemented by "Pick, Group, and Rank". But my case is a bit complicate: parcitipants need to sort out 54 items into nine catogories represented by nine integers from 1 to 9. And the final nine catogories blanks need to include 2, 4, 6, 9, 12, 9, 6, 4, 2 numbers of items respectively. How could I set up this custom validation? I find an old answer from here https://www.qualtrics.com/community/discussion/381/pick-group-rank-limits-in-groups. But the javascript gives me error message like this "Any JavaScript setInterval calls must be cleared with clearInterval on addOnUnload". The script I used is attached.
Q-sort custom validation.txt
Another question is: is it possible that the order of the 54 items can be randomized?

Please, any advices and suggestions will be appreciated! Thank you all in advance!

Same here, I could not find any solution for sorting (1-9). I am not sure if "Pick, Group, and Rank" works for Q methodology.

However, it seems possible to me, if you choose to randomize the choices in the question you will be able to randomize 54 items.



https://www.qualtrics.com/community/discussion/comment/37630#Comment_37630Hi~ I have successfully created the Q-sort task by means of the following java script. I set up the final nine categories blanks to include 2, 4, 6, 9, 12, 9, 6, 4, 2 numbers of items respectively. I think you can easily apply to your own case by changing the number following "length == ". For other details please check: https://www.qualtrics.com/community/discussion/381/pick-group-rank-limits-in-groups
Qualtrics.SurveyEngine.addOnload(function()
{
/*Place your JavaScript here to run when the page loads*/
var $jq = jQuery.noConflict();
$jq('.CS').css('display','none');
setInterval(function(){ 
/*Group 1*/
if($jq('.groupsContainerTd .Columns').eq(0).find('.Selected').length == 2)
{ $jq('.SumInput').eq(0).val(1); }
else 
{ $jq('.SumInput').eq(0).val(0); }

/*Group 2*/
if($jq('.groupsContainerTd .Columns').eq(1).find('.Selected').length == 4)
{ $jq('.SumInput').eq(1).val(1); }
else 
{ $jq('.SumInput').eq(1).val(0); }

/*Group 3*/
if($jq('.groupsContainerTd .Columns').eq(2).find('.Selected').length == 6)
{ $jq('.SumInput').eq(2).val(1); }
else
{ $jq('.SumInput').eq(2).val(0); }

/*Group 4*/
if($jq('.groupsContainerTd .Columns').eq(3).find('.Selected').length == 9)
{ $jq('.SumInput').eq(3).val(1); }
else
{ $jq('.SumInput').eq(3).val(0); }

/*Group 5*/
if($jq('.groupsContainerTd .Columns').eq(4).find('.Selected').length == 12)
{ $jq('.SumInput').eq(4).val(1); }
else
{ $jq('.SumInput').eq(4).val(0); }

/*Group 6*/
if($jq('.groupsContainerTd .Columns').eq(5).find('.Selected').length == 9)
{ $jq('.SumInput').eq(5).val(1); }
else
{ $jq('.SumInput').eq(5).val(0); }

/*Group 7*/
if($jq('.groupsContainerTd .Columns').eq(6).find('.Selected').length == 6)
{ $jq('.SumInput').eq(6).val(1); }
else
{ $jq('.SumInput').eq(6).val(0); }

/*Group 8*/
if($jq('.groupsContainerTd .Columns').eq(7).find('.Selected').length == 4)
{ $jq('.SumInput').eq(7).val(1); }
else
{ $jq('.SumInput').eq(7).val(0); }

/*Group 9*/
if($jq('.groupsContainerTd .Columns').eq(8).find('.Selected').length == 2)
{ $jq('.SumInput').eq(8).val(1); }
else
{ $jq('.SumInput').eq(8).val(0); }

}, 100);

})

jQuery("#"+this.questionId+" .ValidationError").html("Custom Message");

;

Qualtrics.SurveyEngine.addOnReady(function()
{
/*Place your JavaScript here to run when the page is fully displayed*/

});

Qualtrics.SurveyEngine.addOnUnload(function()
{
/*Place your JavaScript here to run when the page is unloaded*/

});


Thank you very much!


https://www.qualtrics.com/community/discussion/comment/37803#Comment_37803I applied this code for my task however, I am having the following error: "Any JavaScript setInterval calls must be cleared with clearInterval on addOnUnload."

Do you have any idea what would be the reason for this error?
Thank you in advance.


https://community.qualtrics.com/XMcommunity/discussion/comment/38050#Comment_38050Sorry, I don't know... Maybe you could follow the old link and ask the author's suggestions


Leave a Reply