【问题标题】:Qualtrics: Using Javascript to Score Questions Inside a Loop/Merge BlockQualtrics:使用 Javascript 对循环/合并块内的问题进行评分
【发布时间】:2021-12-05 03:14:27
【问题描述】:

我有一个多项选择题(是/否),其中“是”与 0 分相关,“否”与 1 分相关。我使用“重新编码值”功能将“是”设置为 0,将“否”设置为 1 . 这是在循环/合并块内,所以我不能在调查流中使用评分功能或嵌入数据/分支。

我的代码目前如下所示:

Qualtrics.SurveyEngine.addOnPageSubmit(function() {
var answer = jQuery("#"+this.questionId+".q-checked").val();
Qualtrics.SurveyEngine.setEmbeddedData('answer', answer);
if(answer = 0)  Qualtrics.SurveyEngine.setEmbeddedData('mmm', '0');
if(answer = 1)  Qualtrics.SurveyEngine.setEmbeddedData('mmm', '1');
});

我也试过了:

Qualtrics.SurveyEngine.addOnPageSubmit(function() {
var answer = this.questionContainer.querySelector(".q-checked").nextElementSibling.innerText;
Qualtrics.SurveyEngine.setEmbeddedData('answer', answer);
if(answer = 0)  Qualtrics.SurveyEngine.setEmbeddedData('mmm', '0');
if(answer = 1)  Qualtrics.SurveyEngine.setEmbeddedData('mmm', '1');
});

在这个问题之后的同一块内,我有一个分页符,然后是两个带有显示逻辑的问题。如果他们回答“是”/在初步问题上得 0 分,则应显示问题 A。如果他们回答“否”/在初步问题上得 1 分,则应显示问题 B。

我的代码似乎将他们的分数设置为 1 并显示问题 B,无论他们对初步问题回答是还是否。

提前感谢您的帮助。

【问题讨论】:

    标签: javascript qualtrics


    【解决方案1】:

    您的代码存在三个问题。首先是您在 jQuery 选择器中的 .q-checked 之前缺少一个空格。应该是:

    var answer = jQuery("#"+this.questionId+" .q-checked").val();
    

    第二个问题是值(choiceid)与重新编码不同。您可以使用 choiceids(可能 1=Yes 和 2=No)或使用 Qualtrics JS API 来获取与值关联的重新编码。

    第三个问题是你的比较不正确。它们应该看起来像:

    if(answer == "0") 
    

    【讨论】:

      猜你喜欢
      • 2014-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多