Specialized description using piped (randomized) choices from previous block | XM Community
Skip to main content
Hi, I needed to create a survey that does the following: 1) People are provided with a list of 20 adjectives and they choose five that describe their parent. 2) In a future block, I would like the five adjectives they picked to be (randomly) inserted into a text passage describing a potential new friend. In a way, this resembles a mad lib, but instead of users generating content (https://www.qualtrics.com/community/discussion/1984/mad-lib-fun), I want them to choose from a finite list of words and then have those words randomly inserted into a future text passage (and not the choices they didn't choose!). Any help would be greatly appreciated! I couldn't figure it out from the typical piped text/display options!
Hello @Chopik , Assuming, you have multiple choice question with choice greater than "5" and validation type "at least" selected with at least = 5 Step 1: Create 5 embedded data as A0, A1,....A4 before multi choice question in survey flow to capture random adjectives form multiple select question. Step 2: Paste below code in the js(OnReady) of the multi choice question function shuffle(array) { var currentIndex = array.length, temporaryValue, randomIndex; // While there remain elements to shuffle... while (0 !== currentIndex) { // Pick a remaining element... randomIndex = Math.floor(Math.random() * currentIndex); currentIndex -= 1; // And swap it with the current element. temporaryValue = array[currentIndex]; array[currentIndex] = array[randomIndex]; array[randomIndex] = temporaryValue; } return array; } var that=this.questionId; jQuery('#'+this.questionId+' input[type=checkbox]').change(function() { var s=[]; jQuery('#'+that+' input[type="checkbox"]:checked').each(function(index){ s.push(jQuery(this).parent().find("label.MultipleAnswer").text()); }); if(s.length>=5){ s=shuffle(s); for(i=0;i<s.length;i++){ Qualtrics.SurveyEngine.setEmbeddedData( 'A'+i, s[i] ); } } }); Step 3: Pipe in the 5 embedded in the text question