Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Qualtrics中的运行时数据实时执行简单的数学运算_Javascript_Html_Css_Runtime_Qualtrics - Fatal编程技术网

Javascript 使用Qualtrics中的运行时数据实时执行简单的数学运算

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

我在Qualtrics调查中有一个滑块,需要从“两端”显示滑块上的值(因此,如果受访者将手柄放置在值55处,我需要在滑块下方显示一个带有“55”和“45”的框,因为最大值为100,即100-55=45)

我已经在文本问题中用下面的HTML片段显示了用户输入的滑块值(在上面的示例中为“55”),它在页面的某处放置了一个带有滑块值的框:

<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>