在Qualtrics中,可以使用“自定义起始位置”(Custom Start Position)设置可拖动条的起始位置(即其宽度)。这是通过在编辑测量时将条形图拖动到所需的宽度来完成的。但是,我正在寻找一种使用JavaScript(或Prototype JavaScript)将条形宽度设置为起始位置的方法。
这是我的尝试,首先(成功)尝试更改条形的颜色(定性和jsfiddle中),然后(成功)尝试适应这些尝试以更改jsfiddle上条形的宽度;然后陷入困境,因为在jsfiddle上有效的方法在Qualtrics上无效。
在Qualtrics中,我可以使用以下Prototype JavaScript(改编自this answer)来更改可拖动滑块的颜色:
Qualtrics.SurveyEngine.addOnload(function()
{
//change the color of all bars to red for testing
$(this.questionId).select('.bar').each(function(name, index) {
name.style.backgroundColor = "red";
});
});
可以看到(并检查)结果here。检查链接中的调查确实显示
background-color
设置为红色:<div id="QID2~2~bar" class="bar" style="width: 103px; background-color: red;"></div>
。还有一个width参数,这意味着我应该能够使用以下代码修改宽度(在将库设置为原型时,它确实适用于jsfiddle):$("test").select('.bar').each(function(name, index) {
name.setStyle({ width: '40px'});
});
但是,此代码在Qualtrics上不起作用(用
$("test")
替换$(this.questionId)
并将其包含在Qualtrics addOnload
函数中时)。以下javascript还可在Qualtrics上用于更改条形颜色(改编自this answer):
Qualtrics.SurveyEngine.addOnload(function()
{
//change the color of all bars to red for testing
var bar = document.querySelectorAll('.bar');
for (var i=0; i < bar.length; i++) {
bar[i].setAttribute("style", "background-color:red");
}
});
通过此代码,我还可以调整jsfiddle上的div宽度:
var bar = document.querySelectorAll('.bar');
for (var i=0; i < bar.length; i++) {
bar[i].setAttribute("style", "width:40px");
}
但是,这再次对Qualtrics没有影响。
因此,长话短说:是否可以通过编程方式将Qualtrics中的小节设置为起始位置,例如,将其宽度设置为父div的50%?
更新:
在深入研究Qualtrics Question API之后,我发现了
setChoiceValue
,可以用它以编程方式选择多项选择项。例如。,Qualtrics.SurveyEngine.addOnload(function()
{
this.setChoiceValue(2,true);
});
通过将其值设置为true来选择第二个单选按钮:
但是,到目前为止,我无法将
setChoiceValue
应用于可拖动的栏或找到类似的栏。更新2:
Qualtrics支持人员(非常友好且平易近人)建议
setChoiceAnswerValue
可能是我想要的。但是,他们还解释说,他们无法为JavaScript提供客户支持。我看了一个同时列出了setChoiceAnswerValue
的more recent version of the API documentation,但是到目前为止没有成功。 最佳答案
我一定在原始代码中打过错,因为事实证明,我最初的工作确实有效:
Qualtrics.SurveyEngine.addOnload(function()
{
$(this.questionId).select('.bar').each(function(name, index) {
name.setStyle({ width: '50px'});
});
});
关于javascript - 使用Qualtrics中的javascript将可拖动栏设置为自定义开始位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39862647/