Выполнение простой математической операции в реальном времени с данными времени выполнения в Qualtrics - PullRequest
0 голосов
/ 09 июня 2018

У меня есть один ползунок в опросе в Qualtrics, и мне нужно представить значение на ползунке с обоих «концов» (поэтому, если респондент поместил маркер на значение 55, мне нужно иметь поле с «55 "и" 45 "показаны под ползунком, поскольку максимальное значение равно 100, т. Е. 100-55 = 45).

Мне удалось показать значение ползунка с помощью ввода пользователя (вВышеприведенный пример, "55") с этим следующим фрагментом HTML в текстовом вопросе, который помещает поле где-то на странице со значением ползунка:

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

Однако я не могу получить другойполе, которое отображает, по существу, 100 минус, в зависимости от того, какое время выполнения. Выбор 1. Значение должно работать («45»).Я попробовал просто «100-runtime.Choices.1.Value», «100» - «runtime.Choices.1.Value», то же самое без всяких кавычек и почти все возможные математические функции для CSS / HTML.Я знаю, что технически HTML только отображает и на самом деле не выполняет такого рода вычисления во время выполнения (я новичок, так что это насколько я блестел), поэтому, если был какой-либо фрагмент Javascript или какой-то другой фрагмент кода, которыйпокажет в реальном времени 100 минус, куда бы пользователь ни переместил ручку на ползунке, это было бы фантастически.Я предполагаю какую-то функцию addOnClick, но понятия не имею, как ссылаться на что-либо на слайдере, чтобы сделать это.

Это такая простая задача, но по какой-то причине она заняла довольно много времени.Любая помощь приветствуется;спасибо!

1 Ответ

0 голосов
/ 17 июня 2018

Мне удалось выяснить это для конкретного примера слайдера, хотя я думаю, что следующий 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>

Надеюсь, это сэкономит кому-то еще время и энергию!

...