Setting more than one embedded data variable using Javascript | XM Community
Skip to main content
I've been trying to set embedded data from a loop and merge function. There are three fields in the loop and merge and I am trying to have all three set to three different variables. I am using the same code for all three, but only field 1 is setting. All of the embedded data variables I want to fill are labeled and empty at the top of the survey so that's not the problem. See code below:



Qualtrics.SurveyEngine.addOnload(function()

{

/*Place your JavaScript here to run when the page loads*/



});/*Place Your Javascript Below This Line*/

var questionText = "${lm://Field/1}"; // "${lm://Field/1}" will actually evaluate to

//whatever is Field 1 in the current Loop & Merge loop.

// You can do this with embedded data too, as seen in the next line

var order = "${e://Field/min_40}" + questionText; // gets the value of the embedded data

// field "preorder", concatenates the current loop's identifier to it,

//and stores that as a variable

Qualtrics.SurveyEngine.setEmbeddedData('min_40', order); // updates the

//embeddeddata field "preorder" to be our order variable, which has the current loop's

//identifier attached, effectively constructing a string of numbers representing the order



Qualtrics.SurveyEngine.addOnload(function()

{

/*Place your JavaScript here to run when the page loads*/



});/*Place Your Javascript Below This Line*/

var questionText = "${lm://Field3}"; // "${lm://Field/1}" will actually evaluate to

//whatever is Field 1 in the current Loop & Merge loop.

// You can do this with embedded data too, as seen in the next line

var order = "${e://Field/tot_seats_40}" + questionText; // gets the value of the embedded data

// field "preorder", concatenates the current loop's identifier to it,

//and stores that as a variable

Qualtrics.SurveyEngine.setEmbeddedData('tot_seats_40', order); // updates the

//embeddeddata field "preorder" to be our order variable, which has the current loop's

//identifier attached, effectively constructing a string of numbers representing the order



Qualtrics.SurveyEngine.addOnload(function()

{

/*Place your JavaScript here to run when the page loads*/



});/*Place Your Javascript Below This Line*/

var questionText = "${lm://Field2}"; // "${lm://Field/1}" will actually evaluate to

//whatever is Field 1 in the current Loop & Merge loop.

// You can do this with embedded data too, as seen in the next line

var order = "${e://Field/inverse_40}" + questionText; // gets the value of the embedded data

// field "preorder", concatenates the current loop's identifier to it,

//and stores that as a variable

Qualtrics.SurveyEngine.setEmbeddedData('inverse_40', order); // updates the

//embeddeddata field "preorder" to be our order variable, which has the current loop's

//identifier attached, effectively constructing a string of numbers representing the order
I figured it out. I was missing a "/"

Leave a Reply