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

Qualtrics中setChoiceValue失效,求无需嵌入式数据的单选按钮模拟方案

自答(2018年1月30日更新)

折腾了好一阵子,我自己测试出了可行的方案,跟大家分享一下:

脚本用addOnload或者addOnReady都能正常运行,但有时候会碰到Qualtrics的问题选项标识符不符合预期的情况。我试过把问题改成描述文本类型再改回多选题(相当于重建默认选项),但不一定能修复这个问题,最后是重新创建新块和新问题才解决的。

附上修改后的可用脚本(替换掉了失效的setChoiceValue,改成直接模拟用户点击):

Qualtrics.SurveyEngine.addOnload(function() {
    this.hideNextButton();
    this.hidePreviousButton();
    var that = this;
    Event.observe(document, 'keydown', function keydownCallback(e) {
        var choiceElement = null;
        switch (e.keyCode) {
            case 74: // 按下'j'键选中选项1
                choiceElement = document.querySelector('#QR\\~' + that.questionId + '\\~1');
                break;
            case 75: // 按下'k'键选中选项2
                choiceElement = document.querySelector('#QR\\~' + that.questionId + '\\~2');
                break;
        }
        if (choiceElement) {
            Event.stopObserving(document, 'keydown', keydownCallback);
            // 直接模拟点击选项元素
            choiceElement.click();
            that.clickNextButton();
        }
    });
});

关键改动说明:

  • 不再调用失效的setChoiceValue,而是通过DOM选择器直接定位到对应的选项元素,调用原生的click()方法模拟用户点击
  • 选择器里的#QR\\~是Qualtrics选项元素的固定前缀,后面拼接当前问题ID和选项编号,注意要转义波浪线~(因为它在CSS选择器里有特殊含义)
  • 这样操作不仅能看到单选按钮的点击动画,Qualtrics也能正常捕获到选择数据,完美解决了之前的两个痛点:数据不记录、loop-and-merge环境下无法匹配的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:46:10