Необходимы компоненты посложнее того что даёт обычный Html. Функционала того же стандартного select уже недостаточно. Дописывал того что нахватает на js. Но есть уже много готовых решений. Осталось только выбрать, собственно, что вы используете в своей работе?