使用 Java 脚本进行 Qualtrics 中的 Vignette 研究

问题描述 投票:0回答:1

我是在 Qualtrics 中使用 java 脚本的新手,我有一个问题 - 也许这里有人可以帮助我?

我正在进行一项研究,参与者被随机分配阅读 16 个小插图中的一个。当然,我可以使用调查构建器和调查流程进行设置,但我想使用代码 - 这是针对包含 500 多个小插图的大型实验的试点研究,手动设置太复杂了。 我认为我需要做的是为每个小插图设置带有变量名称的嵌入数据字段,然后告诉 Qualtrics 每个名称相应的小插图文本。接下来,我可以使用调查流程为每个参与者随机分配一个小插图。 我以前从未使用过java脚本,所以这是我乱七八糟的代码(可能完全错误):

Qualtrics.SurveyEngine.addOnload(function() {
  // Get the value of the selected variable from embedded data
  var selectedVariable = "${e://Field/SelectedVariable}";

  // Define the vignettes with their corresponding text
  var vignettes = {
    "aAA1BB1AB1BA1": "Text for vignette 1...",
    "aAA1BB1AB1BA0": "Text for vignette 2...",
    // Add more vignettes as needed
  };

  // Get the text for the selected vignette based on the selected variable
  var selectedVignetteText = vignettes[selectedVariable];

  // Set the text of the question to display the selected vignette
  this.getQuestionTextContainer().innerHTML = selectedVignetteText;
});

有人可以帮我吗?

我在java脚本窗口中输入了上面的代码来解决文本/图形问题,但是当我单击预览时,它只显示“未定义”。 我也尝试在富文本编辑器的 html 视图中输入类似的内容,但代码从未保存在那里并且总是消失。

javascript qualtrics
1个回答
0
投票

你能试试这个吗?

Qualtrics.SurveyEngine.addOnload(function() {
  // Define the vignettes corresponding texts
  var texts = [
    "Text for vignette 1...",
    "Text for vignette 2...",
  ],selectedVignetteText = texts[Math.floor(Math.random() * texts.length)]
  console.log(selectedVignetteText)
  // Set the text of the question to display the selected vignette
  this.getQuestionTextContainer().innerHTML = selectedVignetteText;
});
© www.soinside.com 2019 - 2024. All rights reserved.