Current customer has a form 9 levels deep:

enter image description here

In the picture you only see 4, but the form goes 9 levels down and in every use case all 9 levels have to be filled out. Output is the plain text string you can see below "Output".

The customer wants this to become a one-to-many relationship where the customer rep can select one or more options in every box.

Is this a good idea and what to keep in mind?

  • 2
    Sounds awful!! I would give some advice, but I can't imagine of something so complex that requires all those levels. Maybe if you give some more information of the actual data or how these options relate.... But your question as is now has only one answer. DON'T.
    – roetnig
    Feb 21, 2017 at 16:10
  • 2
    Requesting some kind of use case that illustrates to us why such a design is necessary? I can walk you through 1-to-1, 1-to-many, and many-to-many relationships in database design, or if-than-else nested trees that account for all possible combinations of selections, but why in Joel's name would you want to combine these, to what end? I agree, sounds particularly awful!
    – IT Bear
    Feb 21, 2017 at 19:01

1 Answer 1


Ebay does/did something similar, and it somewhat works, but can get rather wide.

A few other options are to have

  • Tree view (This also can get really fat)
  • Nested, overlapping menus (The nested page slides in over top of the old menu, similar to iPhone/phone menus)
  • Accordion style dropdown menus with more options nested

And regardless of which item you choose, I would provide a filter/search bar.
(I would also recommend showing a breadcrumb for nested results)

  • I managed to persuade the client to drastically limit the number of choices (often they are repetitive) so I have much more freedom to do something sensible and presentable.
    – codeWolf
    Feb 24, 2017 at 9:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.