【问题标题】:Performing a Simple Math Operation in Real Time with Runtime Data in Qualtrics在 Qualtrics 中使用运行时数据实时执行简单的数学运算
【发布时间】:2018-06-08 21:20:47
【问题描述】:

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

我已经设法通过用户输入(在上面的示例中为“55”)显示滑块的值,并在文本问题中使用以下 HTML 的 sn-p,它在页面上的某处放置了一个框与滑块的值:

<input class="SumInput InputText QID29 QWatchTimer" data-runtime-value="runtime.Choices.1.Value" id="QID29" name="QID29" type="text" value="" />

但是,无论 runtime.Choices.1.Value 是否有效(“45”),我都无法得到另一个显示基本上为 100 的框。我尝试了简单的“100-runtime.Choices.1.Value”、“100”-“runtime.Choices.1.Value”,同样没有任何引号,以及几乎所有可能的 CSS/HTML 数学函数。我知道从技术上讲,HTML 只显示并且并没有真正进行这种运行时计算(我是一个新手,所以这是我所看到的),所以如果有任何 Javascript sn-p 或其他一些实时显示 100 减去用户将滑块上的手柄移动到的任何位置的代码,这太棒了。我假设某种 addOnClick 函数,但不知道如何引用滑块上的任何内容来执行此操作。

这是一项如此简单的任务,但由于某种原因,到目前为止已经花费了相当多的时间。任何帮助表示赞赏;谢谢!

【问题讨论】:

    标签: javascript html css runtime qualtrics


    【解决方案1】:

    我已经设法为滑块的特定示例解决了这个问题,尽管我认为以下 Javascript 应该适用于大概许多问题类型,使用正确的 getChoiceValue (即将“1”更改为对应于的数字)页面上要获取其答案值的元素):

    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;
    }
    });
    

    然后,我在问题文本的 HTML 中添加了以下内容,无论我希望它出现在哪里(我个人把它放在一个表格中,这样我就可以在页面上很好地居中,以及一些解释性文本):

    <span id="result">0</span>
    
    <span id="otherend">0</span>
    

    希望这可以为其他人节省一些时间和精力!

    【讨论】:

      猜你喜欢
      • 2011-03-02
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      • 1970-01-01
      • 2020-11-11
      • 2011-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多