【问题标题】:Qualtrics JavaScript Add Checkbox to Flag QuestionsQualtrics JavaScript 添加复选框以标记问题
【发布时间】:2016-04-21 01:08:11
【问题描述】:

我正在 Qualtrics 中创建一项试点调查,以确保我的所有问题都清晰易懂。对于每个问题,我想添加一个复选框或其他一些功能,以便受访者可以将问题标记为措辞不当或难以理解。该复选框将出现在答案选项或文本框下方。有没有办法通过 Qualtrics 中的 JavaScript 编辑器来做到这一点?

我不想在每个问题之后提出单独的问题来询问上一个问题是否不清楚。这会占用太多空间并惹恼受访者。

到目前为止我想出的解决方案是在每个问题之前创建一个复选框,并将复选框是否被点击保存到嵌入数据中。

首先,我在 Survey Flow 中创建一个名为 check1_d 的嵌入式数据字段。

其次,我在问题文本的 HTML 中嵌入了一个复选框。

<input id="check1" type="checkbox" value="1" /> <p>What is your favorite color?<p>

最后,我将以下内容添加到 JavaScript 编辑器中,以记录我嵌入数据字段 check1_d 的答案。但这部分不起作用。有谁知道如何记录人们是否点击了嵌入数据字段的框?

var mycheck = String(document.getElementById("check1").check);
Qualtrics.SurveyEngine.setEmbeddedData("check1_d", mycheck);

【问题讨论】:

    标签: javascript checkbox qualtrics


    【解决方案1】:

    incaren 在 .checked 属性上是正确的,但我认为您还有其他问题。您需要一个事件侦听器,否则您只是保存复选框的初始状态。此外,您需要在调查流程中的问题块之前定义嵌入变量 check1_d。

    下面是可以工作的代码。由于 Qualtrics 使用prototypejs,下面的代码使用它。它不是将“true”和“false”保存为字符串,而是将 1 保存为 true,将 0 保存为 false。

    Qualtrics.SurveyEngine.addOnload(function() {
        var mycb = $('check1');
        Qualtrics.SurveyEngine.setEmbeddedData("check1_d", +mycb.checked);
        mycb.on('click', function (event, element) {
            Qualtrics.SurveyEngine.setEmbeddedData("check1_d", +element.checked);
        }); 
    });
    

    【讨论】:

      【解决方案2】:

      这看起来可能只是 .check 属性的拼写错误:

      var mycheck = String(document.getElementById("check1").check);
      // Should instead be
      var mycheck = String(document.getElementById("check1").checked);
      Qualtrics.SurveyEngine.setEmbeddedData("check1_d", mycheck);
      

      【讨论】:

      • 糟糕,我在帖子中的拼写错误,而不是在现实生活中。不过还是谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-30
      • 2021-09-18
      • 1970-01-01
      相关资源
      最近更新 更多