I'm trying to set a dynamic custom start position for a slider, but do not want it to be set using the default choice feature. I want to be able to force a response from the respondent, but have the start position be preset dynamically. If I use the default choice feature, it sets the start position but also allows the participant to skip answering and simply click forward because it preselects the answer. Therefore, the default choice feature cannot be used. The custom start position feature seems to only allow a static start position. setChoiceValue also doesn't work because it preselects the answer as well. I need the participant to actively choose a value.
Has anybody else achieved this previously? I scoured the community, but the only answers pointed to the default choice option which does not solve my issue.
This question has been asked before here, but the answer didn't address the dynamic start position or the forcing of the response.
Setting dynamic custom start position (NOT DEFAULT CHOICE)
Best answer by SurajK
Hi lillianc ,
There is a way to meet this requirement, set the start position using "Edit Default Choices" and add the below JS code in the slider question.
Using this code we can hide the next button until all the slider values changes from its current start position, once they change the value then the next button will appear.
Here customCnt is your dynamic start position.
Qualtrics.SurveyEngine.addOnReady(function()
{
var customCnt = "${e://Field/customCnt}" // Dynamic value where you want start position
// Check if all the sliders have changed from start position.
jQuery(".NextButton").css('visibility','hidden')
jQuery(".ResultsInput").change(function(){
var cnt=0;
for(var i=0;i<3;i++)
{
if(jQuery('.ResultsInput').eq(i).attr("value") == customCnt)
{
jQuery(".NextButton").css('visibility','hidden')
}
else
{
cnt+=1
}
}
if(cnt == jQuery('.slider-container').length)
{
jQuery(".NextButton").css('visibility','visible')
}
});
});
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
