Javascript 使用Qualtrics中的运行时数据实时执行简单的数学运算
我在Qualtrics调查中有一个滑块,需要从“两端”显示滑块上的值(因此,如果受访者将手柄放置在值55处,我需要在滑块下方显示一个带有“55”和“45”的框,因为最大值为100,即100-55=45) 我已经在文本问题中用下面的HTML片段显示了用户输入的滑块值(在上面的示例中为“55”),它在页面的某处放置了一个带有滑块值的框:Javascript 使用Qualtrics中的运行时数据实时执行简单的数学运算,javascript,html,css,runtime,qualtrics,Javascript,Html,Css,Runtime,Qualtrics,我在Qualtrics调查中有一个滑块,需要从“两端”显示滑块上的值(因此,如果受访者将手柄放置在值55处,我需要在滑块下方显示一个带有“55”和“45”的框,因为最大值为100,即100-55=45) 我已经在文本问题中用下面的HTML片段显示了用户输入的滑块值(在上面的示例中为“55”),它在页面的某处放置了一个带有滑块值的框: <input class="SumInput InputText QID29 QWatchTimer" data-runtime-value="runtime
<input class="SumInput InputText QID29 QWatchTimer" data-runtime-value="runtime.Choices.1.Value" id="QID29" name="QID29" type="text" value="" />
但是,我无法得到另一个显示为100减去runtime.Choices.1.Value的框(“45”)。我尝试过简单的“100 runtime.Choices.1.Value”、“100”-“runtime.Choices.1.Value”,同样的,没有任何引号,而且几乎所有可能的CSS/HTML数学函数都是如此。我知道从技术上讲,HTML只显示,并不真正执行这种运行时计算(我是新手,所以这是我所了解的),因此如果有任何Javascript片段或其他代码片段,将实时显示100减去用户将滑块上的手柄移动到的任何位置,那将是非常棒的。我假设使用某种addOnClick函数,但不知道如何引用滑块上的任何内容来实现这一点
这是一项如此简单的任务,但由于某些原因,到目前为止已经花费了相当多的时间。感谢您的帮助;谢谢 对于滑块的特定示例,我已经设法解决了这个问题,尽管我认为以下Javascript应该适用于许多问题类型,只要使用正确的getChoiceValue(即,将“1”更改为页面上要获取其答案值的元素对应的数字): 然后,我在问题文本的HTML中添加了以下内容,无论我希望它显示在哪里(我个人将它放在一个表格中,这样我就可以在页面上很好地居中,并添加一些解释性文本):
0
0
希望这能为其他人节省一些时间和精力
Qualtrics.SurveyEngine.addOnload(function() {
/*Place your JavaScript here to run when the page loads*/
var result=0;
var otherend= 0;
this.questionclick = function(event,element){
result = this.getChoiceValue(1);
endupdate();
document.getElementById("otherend").innerHTML=otherend;
document.getElementById("result").innerHTML=result;
}
function endupdate() {
otherend=100-result;
}
});
<span id="result">0</span>
<span id="otherend">0</span>