在qualtrics上使用javascript:在循环块中的问题ID

时间:2016-05-05 20:08:41

标签: javascript qualtrics

我使用以下代码修改表单答案:

$('QR~QID24~1').insert({after: ' out of'});
$('QR~QID24~2').style.position = "relative";
$('QR~QID24~2').style.left = "100px";
$('QR~QID24~2').style.bottom = "34.5px";

这不再起作用了,因为当块被循环时,问题会重复五次,具有以下名称:

QR〜1_QID24〜1

QR〜2_QID24〜1

QR〜3_QID24〜1

QR〜4_QID24〜1

QR〜5_QID24〜1

我试图用每个名字重复代码:

$('QR~1_QID24~1').insert({after: ' out of'});
$('QR~1_QID24~2').style.position = "relative";
$('QR~1_QID24~2').style.left = "100px";
$('QR~1_QID24~2').style.bottom = "34.5px";

$('QR~2_QID24~1').insert({after: ' out of'});
$('QR~2_QID24~2').style.position = "relative";
$('QR~2_QID24~2').style.left = "100px";
$('QR~2_QID24~2').style.bottom = "34.5px";

等等......但这并不起作用。 我已经看了,但没能找到解决方案来识别循环区块中的问题。

2 个答案:

答案 0 :(得分:1)

试试这个:

var qid = this.questionId;
$('QR~'+qid+'~1').insert({after: ' out of'});
$('QR~'+qid+'~2').style.position = "relative";
$('QR~'+qid+'~2').style.left = "100px";
$('QR~'+qid+'~2').style.bottom = "34.5px";

我认为您的解决方案不起作用,因为每个页面上只存在一些元素,因此不存在的元素会导致错误。您必须在每个前面放置一个if语句以避免错误。

答案 1 :(得分:1)

仅供记录。在这种情况下,最终解决方案涉及获取PostTag代码,该代码在每个循环中都会发生变化。

var currentPostTag = this.getPostTag();

    $('QR~'+currentPostTag+'~1').insert({after: ' out of'});
    $('QR~'+currentPostTag+'~2').style.position = "relative";
    $('QR~'+currentPostTag+'~2').style.left = "90px";
    $('QR~'+currentPostTag+'~2').style.bottom = "28px";