В Qualtrics можно установить начальное положение перетаскиваемых баров (то есть их ширину) с помощью «Custom Start Position». Это делается путем перетаскивания полос до нужной ширины при редактировании обзора. Однако я ищу способ установить ширину баров в исходное положение с помощью JavaScript (или прототипа JavaScript).Установите перетаскиваемые столбцы в пользовательскую начальную позицию с javascript в Qualtrics
Вот мои попытки: сначала (успешно) попытаться изменить цвет баров (в градусах и на jsfiddle), затем (успешно) попытаться адаптировать эти попытки изменить ширину полосы на jsfiddle; и затем застревает, потому что то, что работает на jsfiddle, не работает на Qualtrics.
В Qualtrics, можно изменить цвет перемещаемых ползунков следующего прототипа JavaScript (адаптирован из this answer):
Qualtrics.SurveyEngine.addOnload(function()
{
//change the color of all bars to red for testing
$(this.questionId).select('.bar').each(function(name, index) {
name.style.backgroundColor = "red";
});
});
В результате можно видеть (и проверен) here. Проверка обзора в ссылке действительно показывает, что background-color
был установлен в красный цвет: <div id="QID2~2~bar" class="bar" style="width: 103px; background-color: red;"></div>
. Ширина аргумент также присутствует, то есть я должен иметь возможность изменять ширину с помощью следующего кода (который действительно делает работу на jsfiddle при установке библиотеки для прототипа):
$("test").select('.bar').each(function(name, index) {
name.setStyle({ width: '40px'});
});
Однако этот код не работает Qualtrics (при замене $("test")
$(this.questionId)
и включая код в функции Qualtrics addOnload
).
Следующая Javascript работает на Qualtrics для изменения штрих цвета (адаптировано из this answer):
Qualtrics.SurveyEngine.addOnload(function()
{
//change the color of all bars to red for testing
var bar = document.querySelectorAll('.bar');
for (var i=0; i < bar.length; i++) {
bar[i].setAttribute("style", "background-color:red");
}
});
С помощью этого кода можно также регулировать ширину Div на jsfiddle:
var bar = document.querySelectorAll('.bar');
for (var i=0; i < bar.length; i++) {
bar[i].setAttribute("style", "width:40px");
}
Однако снова это не имеет никакого эффекта в Qualtrics.
Так, Короче: Есть ли способ программно дать столбикам в Qualtrics начальной позиции, например, путем установки их ширины до 50% от родительского DIV?
Update:
После углубиться в Qualtrics Question API, я нашел setChoiceValue
, с которым я могу программно выбрать несколько элементов выбора. Например,
Qualtrics.SurveyEngine.addOnload(function()
{
this.setChoiceValue(2,true);
});
будет выбрать 2-й радио-кнопку, установив его значение истины:
Однако, до сих пор мне не удалось либо применить setChoiceValue
к Draggable брусков или найти аналогичную эквивалент.
Update 2:
Qualtrics поддержки (которые очень дружелюбны и доступным) предположил, что setChoiceAnswerValue
может быть то, что я ищу. Однако они также объяснили, что они не могут предоставлять поддержку JavaScript для JavaScript. Я взглянул на , в котором также перечислены setChoiceAnswerValue
, но пока что безуспешно.