Javascript Qualtrics——将变量另存为答案
我试图实现一些自定义javascript,以便保存一个初始化的变量,作为特定问题的答案 我创建了一个选择题,并将其限制为一个可能的答案:“保存响应”。 我实现了以下代码,试图将字符串变量保存为问题的答案:Javascript Qualtrics——将变量另存为答案,javascript,qualtrics,Javascript,Qualtrics,我试图实现一些自定义javascript,以便保存一个初始化的变量,作为特定问题的答案 我创建了一个选择题,并将其限制为一个可能的答案:“保存响应”。 我实现了以下代码,试图将字符串变量保存为问题的答案: this.questionclick = function(event,element) { var toSave = "save this string"; this.setChoiceValue(1, toSave); } 但是,这并不是将变量“toSave”保存到问题中。
this.questionclick = function(event,element) {
var toSave = "save this string";
this.setChoiceValue(1, toSave);
}
但是,这并不是将变量“toSave”保存到问题中。
关于qualtrics API的文档非常少,所以我希望这里有人遇到了这个问题,可以提供一个示例解决方案。您不能通过JavaScript更改答案选项的文本值。Qualtrics保留服务器端 您可以做相反的事情,将答案选项的文本值设置为“savethistring”,然后在问题加载时使用JavaScript将标签从“savethistring”更改为“saveresponses”。jfe下的html结构略有不同,因此需要对此进行说明
Qualtrics.SurveyEngine.addOnload(function() {
var jfe = false;
if(window.location.pathname.match(/^\/jfe/)) jfe = true;
var downArg = 0;
if(jfe) downArg++;
$(this.questionId).down('.LabelWrapper').down(downArg).update("Save responses");
});
编辑:
要回答下面评论中的问题-如果您想在Qualtrics中保存JavaScript变量,请首先在调查流中初始化变量,然后将其保存在JavaScript中,如下所示:
Qualtrics.SurveyEngine.setEmbeddedData('myvar', value);
谢谢你的回复。当我为我的调查修改代码时,我得到一个错误,因为$(this.questionId).down('.LabelWrapper')未定义,所以该行的其余部分不起作用。“向下”命令到底是什么?根据javascript API,$(this.questionId)返回一个字符串。不,this.questionId是一个字符串(问题id)$(this.questionId)返回question元素(一个div),然后向下搜索question元素内的DOM树,并返回带有类LabelWrapper的第一个元素。最后,下一个向下从第一个LabelWrapper元素(包含标签的元素)向下1(如果SE)或2(如果JFE)级。这假设您有一个带有一个选项的多项选择题。这对我来说很好。只要你有一个至少有一个选择的MC,你就应该有一个LabelWrapper类的元素;我已经得到了显示在单选按钮旁边的变量,但是当我提交调查时,新变量——选项文本更改为的变量——没有保存;相反,它只是保存了我给单选按钮起的名字。你做了什么调整了吗?