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
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.