在 Qualtrics 中将键盘使用与答案随机化集成
Integrating keyboard use with answer randomization in Qualtrics
我正在使用 qualtrics 为用户提供两种选择,一种在左侧,一种在右侧。我想让他们使用键盘箭头键来制作 selection,我目前有代码让他们使用以下代码来完成此操作:
Qualtrics.SurveyEngine.addOnload(function()
{
/*Place Your Javascript Below This Line*/
this.hideNextButton();
this.hidePreviousButton();
var that = this;
Event.observe(document, 'keydown', function keydownCallback(e) {
var qid = this.questionId;
var order = $("QR~"+qid+"~DisplayOrder").value.split("|");
var left = order[0];
var right = order[1];
switch (e.keyCode) {
case 37: // 'L' was pressed
choiceID = left
break;
case 39: // 'R' was pressed
choiceID = right
break;
}
if (choiceID) {
Event.stopObserving(document, 'keydown', keydownCallback);
that.setChoiceValue(choiceID, true);
that.clickNextButton();
}
});
});
如果答案是随机的并且问题没有反转,它就可以正常工作。如果答案颠倒了,当按下左箭头键时,它会 select 右边的选项,反之亦然。我怀疑我需要一些方法来将选择 ID 设置为实际呈现的 ID,或者完全更改第三行和第六行,但是 API 中一些更有希望的功能似乎没有成功.建议?
你可以得到随机选项的显示顺序,然后左右赋值(我假设这是一个简单的选择题):
var qid = this.questionId;
var order = $("QR~"+qid+"~DisplayOrder").value.split("|");
var left = order[0];
var right = order[1];
然后,在您的代码中:
switch (e.keyCode) {
case 37: // 'L arrow' was pressed
choiceID = left
break;
case 39: // 'R arrow' was pressed
choiceID = right
break;
}
我正在使用 qualtrics 为用户提供两种选择,一种在左侧,一种在右侧。我想让他们使用键盘箭头键来制作 selection,我目前有代码让他们使用以下代码来完成此操作:
Qualtrics.SurveyEngine.addOnload(function()
{
/*Place Your Javascript Below This Line*/
this.hideNextButton();
this.hidePreviousButton();
var that = this;
Event.observe(document, 'keydown', function keydownCallback(e) {
var qid = this.questionId;
var order = $("QR~"+qid+"~DisplayOrder").value.split("|");
var left = order[0];
var right = order[1];
switch (e.keyCode) {
case 37: // 'L' was pressed
choiceID = left
break;
case 39: // 'R' was pressed
choiceID = right
break;
}
if (choiceID) {
Event.stopObserving(document, 'keydown', keydownCallback);
that.setChoiceValue(choiceID, true);
that.clickNextButton();
}
});
});
如果答案是随机的并且问题没有反转,它就可以正常工作。如果答案颠倒了,当按下左箭头键时,它会 select 右边的选项,反之亦然。我怀疑我需要一些方法来将选择 ID 设置为实际呈现的 ID,或者完全更改第三行和第六行,但是 API 中一些更有希望的功能似乎没有成功.建议?
你可以得到随机选项的显示顺序,然后左右赋值(我假设这是一个简单的选择题):
var qid = this.questionId;
var order = $("QR~"+qid+"~DisplayOrder").value.split("|");
var left = order[0];
var right = order[1];
然后,在您的代码中:
switch (e.keyCode) {
case 37: // 'L arrow' was pressed
choiceID = left
break;
case 39: // 'R arrow' was pressed
choiceID = right
break;
}