Потыкал ExpandJS, не понравилось. Выглядит классно, а внутри — старый (0.5) Polymer, куча зависимостей, каждый компонент отдельно от другого… В общем, лучше использовать Angular Material или собственно Polymer, у него как раз стабильный релиз вышел.
Присоединяюсь к ajax варианту. Например, классический Select2. И ajax из коробки, и поддержка во всех мыслимых местах и фрэймворках, и документации вагон, и враперов/модификаций полно.
Несколько интересностей и полезностей для веб-разработчика #44