Qualtrics.SurveyEngine.addOnload(function() {
// Define the array to store the selected characteristics
var selectedCharacteristics = =];
// Loop through each item and check if it's not empty (embedded variable has a value)
for (var i = 1; i <= 5; i++) {
var itemValue = "${e://Field/item" + i + "}"; // Get the embedded variable value for each item
// If the itemValue is not empty (not equal to an empty string)
if (itemValue != "") {
selectedCharacteristics.push(itemValue); // Add the characteristic label (embedded variable value) to the array
}
}
// Calculate the resulting text
var resultText = "";
if (selectedCharacteristics.length == 1) {
resultText = selectedCharacteristicsl0]; // If only one characteristic is selected, no need for "and"
} else if (selectedCharacteristics.length > 1) {
resultText = selectedCharacteristics.slice(0, -1).join(", ") + " and " + selectedCharacteristics.slice(-1); // Join all but the last with commas, then add "and" before the last
}
// Set the Embedded Data with the resulting text
Qualtrics.SurveyEngine.setEmbeddedData("resultText", resultText);
});
doesn’t work, what’s wrong? This codes try to get 5 embbeded variables, evaluate if they are not empty, if they have a text then put in an array, use this array to create a new embbeded variable with the combination of the each embbeded variable, if there are more than one embbeded variables with text, it joins and includes and “and” to make sense to the message and separate by commas.