Dynamic Option List
[Toolbox]  [Example]  [Source]
This library allows you to create dynamic select list contents, when the options in a list depend on which item is selected in another list. It correctly supports multiple selection lists, including maintaining the selected state of dynamic options.

Single select:
Region State City

Multiple Select:
Region State City