【问题标题】:How to code the javascript in Qualtrics to recognize the current loop?如何在 Qualtrics 中编写 javascript 代码以识别当前循环?
【发布时间】:2016-05-04 01:36:01
【问题描述】:

我对编写 javascript 非常陌生。目前,我正在使用 Qualtrics 的调查进行听觉实验。听觉刺激被上传到网站,我使用 Qualtrics 的“Source”功能编写如下所示的小代码来播放听觉刺激。 (警告:www.auditorystimuli.com 是一个虚拟地址)

 
<audio autoplay="" src="http://www.auditorystimuli.com/L0_high_1.mp3">&nbsp;</audio>

整个实验由 120 次试验组成,因此我尝试使用 Qualtrics 的循环功能循环问题,而不是构建 120 次问题。 我目前面临的问题是,在上面几行中,每次循环前进时,“L0_high_1”(就在 .mp3 扩展名之前)的部分需要更改(例如,第一个问题的“L0_high_1”然后“ L9_low_2" 用于第二个问题,依此类推)。

我知道我们可以使用 Qualtrics 的“管道文本”功能来动态更改源代码中的数字。 我使用了下面的代码,第一个循环成功播放“L0_high_1”,第二个循环播放“L0_high_2”,依此类推。

&nbsp;
<audio autoplay="" src="http://www.auditorystimuli.com/L0_high_${lm://CurrentLoopNumber}.mp3">&nbsp;</audio>

但是,如上所述,我还必须更改 ${lm://CurrentLoopNumber} 部分前面的字母。

我正在考虑在 Qualtrics 的源代码下面编写,以便 javascript 可以根据当前循环的数量播放指定的声音。

<audio id="1" src="http://www.auditorystimuli.com/L0_high_1.mp3">&nbsp;</audio>
<audio id="2" src="http://www.auditorystimuli.com/L9_low_2.mp3">&nbsp;</audio>

我现在知道如何编写能够识别按键的 javascript 行,如下所示。

  switch (e.keyCode) {
    case 32: // 'space' was pressed
      $('1').play();
      break;

使用上面的行,我成功地播放了 id='1' 的声音。 我的问题是,我如何编写能够识别当前循环编号的 javascript 行(Qualtrics 源代码行的 ${lm://CurrentLoopNumber} 部分)? 我对 javascript 的粗略图像如下所示。替换“e.LOOP”、“LOOP1”或“LOOP2”部分的合适代码是什么?

  switch (e.LOOP) {
    LOOP1: // first loop
      $('1').play();
      break;
    LOOP2: // second loop
      $('2').play();
      break;

非常感谢您花时间阅读这个长问题,非常感谢您的帮助! :)

【问题讨论】:

    标签: javascript loops qualtrics


    【解决方案1】:

    一行代码就可以搞定:

    if(e.keyCode==32) $("${lm://CurrentLoopNumber}").play();
    

    【讨论】:

      猜你喜欢
      • 2016-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-11
      相关资源
      最近更新 更多