• No results found

Qualtrics Question API

N/A
N/A
Protected

Academic year: 2021

Share "Qualtrics Question API"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

Page | 1

Qualtrics Question API

API subject to change without notice Version: 2010.01.12

Contents

Introduction ... 2 Functions ... 2 disableNextButton ... 2 disablePreviousButton ... 2 enableNextButton ... 3 enablePreviousButton ... 3 hideNextButton ... 3 hidePreviousButton ... 3 showNextButton ... 3 showPreviousButton... 3 clickNextButton ... 3 clickPreviousButton ... 3 hideChoices... 3 getQuestionContainer ... 3 getQuestionTextContainer ... 4 getChoiceContainer ... 4 setChoiceValue ... 4 setChoiceValueByRecodeValue ... 4 setChoiceValueByVariableName ... 4 getChoiceValue ... 5 getQuestionInfo ... 5 getChoicesFromVariableName ... 5 getChoicesFromRecodeValue ... 5 Properties ... 6 questionId ... 6 questionContainer ... 6 questionclick ... 6

(2)

Page | 2

Introduction

The Qualtrics Question API allows users to interact with a question in a survey using JavaScript. Note that interaction with questions is not limited to the functions available in the API. The API simply abstracts the most used functionality to a set of methods called on the question object. All functions using the API must be wrapped in a Qualtrics.SurveyEngine.addOnload function. The addOnload function automatically instantiates the Question Data class and binds the instantiated object to allow its functions and properties to be accessed using the this keyword directly.

Example: <script>

Qualtrics.SurveyEngine.addOnload(function () //create Qualtrics.SurveyEngine.QuestionData object {

this.disableNextButton(); //disables the next button on the page

this.questionclick = function(event,element) //question click is a simple onclick handler

{ //attached to the question's container div

console.log(event); //by default you get the click event as the first parameter

console.log(element); //and the clicked element as the second parameter

if (element.type == 'radio')

{

var choiceNum = element.id.split('~')[2];

alert('You clicked on choice '+choiceNum);

if (choiceNum == 2) {

this.enableNextButton(); //enables the next button - Note that the QuestionData

} //object is bound to this to make it easier to use

else {

this.disableNextButton(); //disables the next button } } } }); </script>

Functions

This is a list of predefined functions that can be used on the QuestionData class. Note that the addOnload function on the Qualtrics.SurveyEngine object automatically instantiates the QuestionData class and binds the

instantiated object to allow these functions to be called using this directly.

disableNextButton

Sets the disabled attribute to true on the next button to disable it.

disablePreviousButton

(3)

Page | 3

enableNextButton

Sets the disabled attribute to false on the next button to enable it.

enablePreviousButton

Sets the disabled attribute to false on the previous button to enable it.

hideNextButton

Hides the next button

hidePreviousButton

Hides the previous button

showNextButton

Shows the Next Button

showPreviousButton

Shows the Previous Button

clickNextButton

Emulates a click on the next button to submit the page Example:

//Hides the next button and displays the question //for 5 seconds before moving to the next page this.hideNextButton();

var that = this;

(function(){that.clickNextButton();}).delay(5);

clickPreviousButton

Emulates a click on the previous button to submit the page

hideChoices

Hides the choice container

getQuestionContainer

(4)

Page | 4

getQuestionTextContainer

Returns the div of the question text (.QuestionText)

getChoiceContainer

Returns the div of the choices (.ChoiceStructure)

setChoiceValue

Sets the actual value of a choice in the question. If a matrix-style question, also specify the subId (answerId).

Parameter Value(s) / Formatting Required Description

choiceId <String> Yes The ID of the choice being set

subId <String> No Optional ID of the Column Answer, etc. value <String> Yes The value being set

Examples:

this.setChoiceValue(3,true); //sets the value of choice 3 to true (selected) this.setChoiceValue(3,2,true); //sets the value of row choice 3 answer col 2

setChoiceValueByRecodeValue

Sets the value of the choice(s) specified by a recode value. Multiple choices in a question may have the same recode value. An attempt will be made to set each choice that is found. For single answer questions this may result in only the last matching choice being set.

Parameter Value(s) / Formatting Required Description

recodeValue <String> Yes The recode value of the choice(s) being set subId <String> No Optional ID of the Column Answer, etc. value <String> Yes The value being set

setChoiceValueByVariableName

Sets the value of the choice(s) specified by a variable name. Multiple choices in a question may have the same variable name. An attempt will be made to set each choice that is found. For single answer questions this may result in only the last matching choice being set.

Parameter Value(s) / Formatting Required Description

variableName <String> Yes The variable name of the choice(s) being set subId <String> No Optional ID of the Column Answer, etc. value <String> Yes The value being set

(5)

Page | 5

getChoiceValue

Gets the actual value of a choice in the question. If a matrix-style question, also specify the subId (answerId).

Parameter Value(s) / Formatting Required Description

choiceId <String> Yes The ID of the choice

subId <String> No Optional ID of the Column Answer, etc.

Examples:

this.getChoiceValue(3); //returns the value of choice 3

this.getChoiceValue(3,2); //returns the value of row choice 3 answer col 2

getQuestionInfo

Returns an object containing information about the question. QuestionID (String) The question id QuestionText (String) The question text QuestionType (String) The question type code

Choices (Object) Key is the choice id, value is information about the choice RecodeValue (String)

VariableName Text

Exclusive

getChoicesFromVariableName

Returns an array of choice ids that have matching variable names.

Parameter Value(s) / Formatting Required Description

variableName <String> yes The variable name to search for

getChoicesFromRecodeValue

Returns an array of choice ids that have matching recode values.

Parameter Value(s) / Formatting Required Description

(6)

Page | 6

Properties

questionId

The question ID

questionContainer

The question container Example:

// returns the question text

var questionText = $(this.questionContainer).down('.QuestionText').innerHTML;

questionclick

Can be set to a callback function to perform a custom function when any element of the question is clicked. The function will be passed the following parameters:

Parameter Description

event The click event

element The element that was clicked

Example:

this.questionclick = function(event,element){

//for a single answer multiple choice question, the element type will be radio

if (element.type == 'radio')

{

var choiceNum = element.id.split('~')[2];

alert('You clicked on choice '+choiceNum); }

References

Related documents

Although the ma­ jority of OECD countries have engaged in some institutional reforms, the empirical evidence of their impact on efficiency is so far limited due to:

The basic provision of a market for immigration would allow individuals who qualified for immigration to the United States under current laws and quotas, and who

Texas A&amp;M University System Subtotal 2,166,170 Institution: Texas A&amp;M University System Health Science Center. Land Acquisition Land Acquisition - Dallas for HPEB

Developmental changes of small and medium enterprises in Poland in the face of globalization and integration with the European Union.. The globalization of the economy influences

The second approach demonstrates the practical applicability of fNIRS to real-time cognitive monitoring, and identifies appropriate sensor placement, signal processing and

In China, private citizens (generally the victim or the victim’s relatives) prosecute less serious crimes, while the state prosecutes more serious offences (Newman, 1999, p. From

The objective of this article is to make a state of the art on knowledge management and its bond with the innovating designs. After having presented some general information

Boston partner Shayla Harlev was named an “Up and Coming” lawyer in Massachusetts for Private Equity: Buyouts &amp; Venture Capital Investment and Corporate/M&amp;A by Chambers USA