使用 Javascript 在 Qualtrics 中随机化蒙面选择
Randomizing masked choices in Qualtrics with Javascript
我正在编写一项 Qualtrics 调查,其中将向几个不同的受访者流提供不同的属性子集,以在矩阵问题中进行评分。
有很多属性和问题,所以为了避免花几天时间点击答案级别的显示逻辑,我改编了@T 的答案。 Gibbons (Use Javascript for Qualtrics matrix table display logic) 并使用 Javascript 使用以下代码屏蔽子集。
var quest = this.questionId;
var choices = this.getChoices();
var survey_stream = "${e://Field/E8}";
var stream;
var stream1 = ["1", "2", "3", "4", "5", "6"];
var stream2 = ["2", "3", "4", "7", "8", "9"];
var stream3 = ["1", "2", "3", "4", "5", "6"];
if (survey_stream=="1") {stream=stream1;}
if (survey_stream=="2") {stream=stream2;}
if (survey_stream=="3") {stream=stream3;}
var idName;
var hiddenChoices;
hiddenChoices = choices.filter(function(x) {
return !stream.includes(x);
});
hiddenChoices.each(function(item) {
idName = "header~"+quest+"~"+item;
$(idName).up().hide();
});
理想情况下,显示的其余项目也将被随机化,但是通过返回正确数量的答案选项但为错误的子集选择上述代码的问题 'breaks' 的标准随机化选项。我的猜测是它在屏蔽脚本运行之前随机选择了选择的顺序,因此在应用我的流的位置引用之前选择已经乱序了。
由于我在 Javascript 方面的经验非常有限,而且这方面的 Qualtrics 文档很糟糕,是否有任何关于如何调整我的代码以包括我的选择子集的适当随机化的建议?
对于您的 hiddenChoices.each 函数,试试这个:
hiddenChoices.each(function(item) {
idName = "QR~"+quest+"~"+item+"~1";
$(idName).up('tr.ChoiceRow').hide();
});
我正在编写一项 Qualtrics 调查,其中将向几个不同的受访者流提供不同的属性子集,以在矩阵问题中进行评分。
有很多属性和问题,所以为了避免花几天时间点击答案级别的显示逻辑,我改编了@T 的答案。 Gibbons (Use Javascript for Qualtrics matrix table display logic) 并使用 Javascript 使用以下代码屏蔽子集。
var quest = this.questionId;
var choices = this.getChoices();
var survey_stream = "${e://Field/E8}";
var stream;
var stream1 = ["1", "2", "3", "4", "5", "6"];
var stream2 = ["2", "3", "4", "7", "8", "9"];
var stream3 = ["1", "2", "3", "4", "5", "6"];
if (survey_stream=="1") {stream=stream1;}
if (survey_stream=="2") {stream=stream2;}
if (survey_stream=="3") {stream=stream3;}
var idName;
var hiddenChoices;
hiddenChoices = choices.filter(function(x) {
return !stream.includes(x);
});
hiddenChoices.each(function(item) {
idName = "header~"+quest+"~"+item;
$(idName).up().hide();
});
理想情况下,显示的其余项目也将被随机化,但是通过返回正确数量的答案选项但为错误的子集选择上述代码的问题 'breaks' 的标准随机化选项。我的猜测是它在屏蔽脚本运行之前随机选择了选择的顺序,因此在应用我的流的位置引用之前选择已经乱序了。
由于我在 Javascript 方面的经验非常有限,而且这方面的 Qualtrics 文档很糟糕,是否有任何关于如何调整我的代码以包括我的选择子集的适当随机化的建议?
对于您的 hiddenChoices.each 函数,试试这个:
hiddenChoices.each(function(item) {
idName = "QR~"+quest+"~"+item+"~1";
$(idName).up('tr.ChoiceRow').hide();
});