I have a large three level hierarchy of industry types and would like to allow users to select from the lowest level, or any of the three levels above.

Commercial  Retail          Licensed Premise 
Commercial  Retail          Fast Food Outlet 
Commercial  Retail          Automated Teller Machine (ATM)
Commercial  Storage Land    General Storage Land
Commercial  Storage Land    Builders’ Yard

The real list is much much longer!

I'd like users to be able to select just the lowest level, e.g. ATM, or to select everything from one of the levels above. To make it harder, ideally I'd like to do all this within a left-hand menu area.

Has anyone seen a website where this is done well?

  • Ran into pretty much the same problem myself. ux.stackexchange.com/questions/58439/… Didn't get much of a response so I'm looking forward to seeing people's answers here.
    – nightning
    Jun 17, 2014 at 19:57
  • I think it would be require some new interaction pattern if you had to show hierarchy but still expose all levels of detail with it being difficult to use.
    – Michael Lai
    Jun 18, 2014 at 22:12

1 Answer 1


Add checkboxes to a tree control. This example also includes a text input for searching the tree.

enter image description here

(more details and more images)

Note: Some implementations use a dash (in the checkbox) to indicate that some, but not all, of the child elements have been selected -- the example above uses a filled square.

  • 1
    Do you find this usable? Even though this feature exists in the Microsoft Outlook Calendar, not many people are aware of it or use it. Plus the two different states for the checkbox control has proven to be confusing for many users in my experience.
    – Michael Lai
    Jun 19, 2014 at 22:50
  • No. I'm not a big fan, but this seems to be a common approach. I'd love to see something better. Jun 21, 2014 at 1:59

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.