I built a checklist of sorts, in which the end user has to answer yes or no to a question in order to move on to the next one. The visibility conditions currently require the “correct” answer in order to show the next question along with the associated choice component (left image):
It does exactly what I need it to but I’m running into an issue with one potential scenario - if a user is a few questions in, but they go back and change a previous answer, it only hides the next question (right image) not all following questions.
Without having to go through each and every component to change multiple and specific visibility conditions, is there a trick that I can use to hide what needs to be hidden when this happens? Maybe an ITE column or something in the Data Editor??? Any advice is greatly appreciated!
You could probably do an IF column that works in reverse. First check the last question and if true, return the question number, else if the second to last question is true, then return that questi{n number, etc.
If Ques10 is true Then 10
ElseIf Ques9 is true Then 9
ElseIf Ques9 is true Then 8
.
.
.
Else 0
Then set up each subsequent component to check if the IF value is greater or equal to the current number, then show the component.
The only real downside to this setup is if a user changes an earlier question, and it hides already answered subsequent questions, it won’t clear those answers that are now hidden, and if they reappear, they would still be already answered. Not sure if that is what you would want or not.
One suggestion would be a single user specific number column to store a number, then use button bars instead of choices. Then set up the button bars, so a Yes button will set the number to the next question number and the No button would set the number to the previous question number. Both using a Set Column action. That way, it would, in essence, reset the answers if they go back to a previously answered question. Also, you could eliminate multiple choice selection columns and you wouldn’t need an IF column like I first described. Every button bar component would only be setting one column value.