Answered

Cascading dropdowns

  • 12 January 2021
  • 7 replies
  • 875 views

Userlevel 1

I’d love to see a form that allowed me to create an assessment that narrows down / prioritizes options in a list over a few different levels of review.

 

So, I want to say here’s a list — what bubbles to the top, and ask that question multiple times until narrowed to predetermined amount.

 

Does that make sense?

icon

Best answer by Nordin 12 January 2021, 19:57

View original

7 replies

Userlevel 7
Badge +5

Hey @RashidatO - I'm not sure I totally follow (sorry, still got post-holidays brain strain :disappointed: ).

Do you mean you want to display different "levels" of lists depending on what is selected in the prior list - e.g. "meat, fish, dairy, vegetable" then if dairy is selected you have "milk, cheese, yoghurt, butter" then if cheese is selected you have "brie, cheddar, gouda, jack", etc.? Or have I totally got the wrong end of the stick? If so, could you give an example (food-related or otherwise)?

 

Userlevel 1

Thanks for trying to follow me, but now that’s not what I mean.  I want to give a list of 400 or so character traits and have them dwindled down to the 10 characteristics that best describe you and the 3 characteristics you want to be known for.  When I speak of filtering these characteristics through “levels” I mean that at the first level I ask a question like “which of these characteristics describe you” narrowing the list for the first level → “which of these characteristics do you relate to” narrowing the list for the second level →  “which of these would stay on the list not based on what someone else said you are like, but who you believe you are” narrowing the list again in order to get down to 10 characteristics about your identity that can encourage and pull one out of a “failure cycle” and 3 characteristics they can learn to develop and hone so they can live the character they say they want to be with intentionality.

 

I hope that makes sense.  The point of the assessment is NOT to put one into a predetermined box, but to help them prioritize the character of how they choose to show up in the world.  I find a version that was a teaching quiz for children, but it was childish and didn’t completely fit the need.  

Userlevel 5
Badge +3

Hello Reshidat, 

Nordin from tech support. Once again it’s a pleasure to be helping out in our community. 
Short answer is this is not something that can be done natively at the moment within the platform... 

...but, his is a really cool use case that I haven’t seen asked yet and It got me all pumped up thinking about how this could be done. Yeah I love finding workarounds! (Insert heavy metal meme here xD)

Spoiler alert! this is not going to be a beginner-friendly answer and it will need some development done.

So in this case it would involve using our APIs, having a web app where you can store data, display the forms and run some scripts from the server. 

If you don’t have that then you can stop reading now, but if you do... If you had the opportunity of embedding it with your custom web app with database and everything then it would be possible to tinker something up. It would look something like this, let’s call this example “Let’s find you real number”: 

 

  1. You have a list of default options, for this examples case let’s say they are: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
  2. You create a form with template, design and everything using our Create API. This form will have only one multiple choice question: Choose the five numbers you like the most! 
  3. You embed this form on your website using the embed SDK 

    Fasten your belts because we are accelerating! Usually the steps from 4 to 8 happen in 2-4 seconds fromt he user perspective. 
     
  4. Once the customer submits you will use the onSubmit callback to launch a loading screen of your choice, so the user sees something is going on.
  5. Then call our responses API and query for the last response or the response with an identifier (you can create and identifier using a hidden field)*

    *Alternatively to get more speed you can also set up a webhook so your app is notified with the response data. This second option will cut the whole process to 1-2 seconds. 
  6. Now using that data you will create a new form using our Create API, with one question only again but this time the question will only have the options that you have obtained from the first response, let’s say the user selected only the even numbers. This time the question can be something like, out of those 5 numbers which ones have brought you luck during your lifetime? then you set it up, so user can select a max of, let’s say, 3. 
  7. Once the for is created you use our embed SDK again to embed it on your website and once done you remove the loading screen. 
  8. User fills in the second form and submits. OnSubmit method repeats steps 4 to 7 again (you can put this into a function for reusability) 
  9. Optional step: Delete the form using the Forms API after is used and store the data in your DB. 

Keep repeating the process and narrowing the data down until you have only the options desired and display a fancy final page to the customer showing the result and some description of what it means. You can also add 10 ending screens to the last tyepform, one for each number and then apply some logic to show the thank-you screen based on the last number selected. 

 

Note that here it seems that a lot is going on, and a lot is going on indeed but, once finished, for the user is quite seamless, if you add a nice loading screen with some GIF animation and some nice messaging they won't even notice the load time between all those operations. 

 

I know this is very difficult but it’s something that could be done in a couple of days or 3 with the right knowledge. If we get enough upvotes I might code it on my end and record a quick video solution. Of course if someone from the community wants to give it a try that would be evne better!

Lastly, I hope that this is the use case that you were asking for otherwise I wrote too much for naught :( 

Have a nice day!

 

 

Userlevel 7
Badge +6

@Nordin 

  • upvote!!!!

 

Badge +5

Hey @RashidatO, I turned your discussion into its own thread as it seems like a well thought personal use case.  Thanks for going into so much detail by the way. 

Userlevel 7
Badge +6

@Nordin @Gabriel 

Just a thought - this is the second thread in which the API was mentioned - maybe there could be a ‘cross-over demo webinar’ to walk those of us who are not yet fully confident to participate in the developer forum domain (ie with scripting background required) through the process of ‘getting started with the API’. 

I see the detail on the Getting Started with the API page and have started to walk through it, but a half-day webinar on the topic would be fabulous. If I am missing that somewhere already, please point it out to me.. would love to sign up for that.

 

cheers

 

des

Userlevel 1

@Nordin so when you said if you don’t have this stop reading now… Yeah, that’s where I stopped. I don’t have the background to do that :grin:  But I love that you are pumped.  I actually have a couple of things I would use this for an already have the use cases ready if this ever becomes something we can work together to build.  I’m definitely on the business admin side and can understand and provide use cases, but I don’t have the technical background at the level you’ve suggested to make a workaround.

Reply