Qualtrics 答案选择随机化升序与降序
Qualtrics Answer Choice Randomization Asecnding vs. Descending
我在 Qualtrics 中随机选择答案时遇到问题。我想要随机化,以便保留答案选择的顺序,但顺序是升序或降序。
例如,我想在订单 A 和订单 B 之间随机选择
订单 A)
- 1
- 2
- 3
订单 B)
- 3
- 2
- 1
一种方法是使用块随机化并为订单 A 和订单 B 创建单独的块。但是我有很多问题想以这种方式随机化。我不想以太多块结束。
是否有人拥有 Javascript 代码,以便在每个问题中进行随机化,而不必创建两个单独的问题?
我的解决方案是在每个问题中包含两次回答,并使用 Javascript 隐藏一个或另一个顺序。
首先,添加一个选择题,答案先升序排列,然后再按降序排列。例如,
问题文本
响应 1
回复 2
回复 3
回复 3
回复 2
响应 1
现在,将此 Javascript 添加到您希望随机排序的每个问题中。
var numChoices = this.getChoices( "radio" ).length;
var choices = this.getChoices( "radio" );
var pivot = parseInt(numChoices) / 2
var QID = this.getQuestionInfo().QuestionID;
var rand = Math.round(Math.random());
if (rand == 1) {
for (var i = 0; i < pivot; i++) {
var idString = ("QR~" + QID + "~" + choices[i]);
document.getElementById(idString).parentNode.style.display = "none";
}
} else {
for (var i = pivot; i < numChoices ; i++) {
console.log("i: " + i + "pivot: " + pivot);
var idString = ("QR~" + QID + "~" + choices[i]);
document.getElementById(idString).parentNode.style.display = "none";
}
}
此 Javascript 随机隐藏一个排序或另一个。代码以编程方式编写,因此您可以输入任意数量的响应(只要您包括两个订单)。
我只是为了调查才不得不这样做。理想情况下,您不想 repeat/hide 回复。这个解决方案只是在一半的时间里将选项随机移动到相反的顺序。
Qualtrics.SurveyEngine.addOnload(function() {
var rand = Math.round(Math.random());
if(rand == 1) {
var qid = this.questionId;
var choices = $(qid).select('li.Selection');
var lastChoice = choices.last();
for(i=0;i<choices.length-1;i++) {
$(lastChoice).insert({
after: choices[i]
});
}
}
});
我在 Qualtrics 中随机选择答案时遇到问题。我想要随机化,以便保留答案选择的顺序,但顺序是升序或降序。
例如,我想在订单 A 和订单 B 之间随机选择
订单 A)
- 1
- 2
- 3
订单 B)
- 3
- 2
- 1
一种方法是使用块随机化并为订单 A 和订单 B 创建单独的块。但是我有很多问题想以这种方式随机化。我不想以太多块结束。
是否有人拥有 Javascript 代码,以便在每个问题中进行随机化,而不必创建两个单独的问题?
我的解决方案是在每个问题中包含两次回答,并使用 Javascript 隐藏一个或另一个顺序。
首先,添加一个选择题,答案先升序排列,然后再按降序排列。例如,
问题文本
响应 1
回复 2
回复 3
回复 3
回复 2
响应 1
现在,将此 Javascript 添加到您希望随机排序的每个问题中。
var numChoices = this.getChoices( "radio" ).length;
var choices = this.getChoices( "radio" );
var pivot = parseInt(numChoices) / 2
var QID = this.getQuestionInfo().QuestionID;
var rand = Math.round(Math.random());
if (rand == 1) {
for (var i = 0; i < pivot; i++) {
var idString = ("QR~" + QID + "~" + choices[i]);
document.getElementById(idString).parentNode.style.display = "none";
}
} else {
for (var i = pivot; i < numChoices ; i++) {
console.log("i: " + i + "pivot: " + pivot);
var idString = ("QR~" + QID + "~" + choices[i]);
document.getElementById(idString).parentNode.style.display = "none";
}
}
此 Javascript 随机隐藏一个排序或另一个。代码以编程方式编写,因此您可以输入任意数量的响应(只要您包括两个订单)。
我只是为了调查才不得不这样做。理想情况下,您不想 repeat/hide 回复。这个解决方案只是在一半的时间里将选项随机移动到相反的顺序。
Qualtrics.SurveyEngine.addOnload(function() {
var rand = Math.round(Math.random());
if(rand == 1) {
var qid = this.questionId;
var choices = $(qid).select('li.Selection');
var lastChoice = choices.last();
for(i=0;i<choices.length-1;i++) {
$(lastChoice).insert({
after: choices[i]
});
}
}
});