You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qualtrics中如何捕获随机排序选项的位置并存储到嵌入式数据

Qualtrics捕获随机化选项展示位置的实现方案

你的思路完全正确,通过jQuery遍历选项并匹配关键词的方式,既能实现随机化位置的捕获,也能完美适配选项文本包含随机附加内容的场景。具体实现步骤如下:

1. 提前创建嵌入式数据字段

在调研的「设置」→「嵌入式数据」页面,添加pos_alpha、pos_beta、pos_gamma、pos_delta这几个字段,确保后续代码能对其赋值。

2. 编写问题级JavaScript代码

打开目标问题的编辑界面,切换到「JavaScript」标签,点击「Add JavaScript」,替换默认代码为以下内容:

Qualtrics.SurveyEngine.addOnload(function() {
    // 映射关键词与对应嵌入式数据字段
    const targetMap = {
        "alpha": "pos_alpha",
        "beta": "pos_beta",
        "gamma": "pos_gamma",
        "delta": "pos_delta"
    };

    // 遍历当前问题的所有单选选项
    jQuery("#" + this.questionId + " [type=radio]").each(function(idx) {
        // 获取选项的文本内容
        const optText = jQuery(this).closest(".Choice").find(".Label").text().trim();
        
        // 检查文本是否包含目标关键词
        for (const [key, field] of Object.entries(targetMap)) {
            if (optText.includes(key)) {
                // 赋值嵌入式数据,位置从1开始计数
                Qualtrics.SurveyEngine.setEmbeddedData(field, idx + 1);
                break; // 匹配成功后跳出循环,避免重复赋值
            }
        }
    });
});

3. 关键逻辑说明

  • 关键词匹配:使用optText.includes(key)检查选项文本是否包含指定关键词,不管文本前后有多少随机附加内容,只要包含目标关键词就能被正确识别。
  • 位置计数:jQuery的each循环索引从0开始,所以用idx + 1转换为从1开始的位置序号,符合你需要的计数规则。
  • 嵌入式数据赋值:通过Qualtrics官方APIQualtrics.SurveyEngine.setEmbeddedData()完成赋值,确保数据能被后续调研环节调用。

4. 验证方式

预览调研并多次刷新(触发选项随机化),提交后查看「数据&分析」模块中的嵌入式数据列,确认每个pos_xxx字段的值与对应选项的展示位置一致。

内容的提问来源于stack exchange,提问作者user20380762

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 08:12:51