Обычный select - это зло, он крайне сложно стилизуется и т.д. Поэтому чаще используют структуру из div-ов, а сам селект скрывают или вообще используют input. Посмотрите как реализован
select2 Возможно он в принципе решит Вашу задачу, а если нет подсмотрите его верстку.