Меня беспокоит преобладание решения, а не проектирования. OP сказал: «Я хочу знать, какое решение является наиболее удобным и беспроблемным, чтобы пользователь не запутался». Так что, будь то jQuery, JavaScript, C # или FORTRAN, важен дизайн - и здесь важен дизайн UX, а не дизайн пользовательского интерфейса. (Еще один призыв избегать неправильной и нелогичной конструкции «UX / UI»).
Используйте ввод текста. Используйте три отдельных поля, обозначенных как День, Месяц и Год (или Месяц, День и Год). Позвольте пользователям вводить даты. Смешивание текста и списков в одном взаимодействии - плохая вещь (например, не используйте ввод текста для года, а для выбора даты или списков для месяца и дня).
Используйте одно текстовое поле, которое использует подсказки формата в поле, например, [день / месяц / год]. Не требует слишком строгого форматирования. Если пользователь вводит JUN в том месте, где вы ожидаете месяц, тогда используйте июнь в серверной части. Если пользователь вводит 6 в том месте, где вы ожидаете месяц, тогда используйте июнь в бэкенде. Если пользователь набирает 06 в том месте, где вы ожидаете месяц, используйте июнь в серверной части.
Используйте бритву Оккама в качестве ориентира (по сути, в большинстве случаев данные будут достаточно точными). Уменьшите когнитивное трение (не заставляйте пользователей думать).