2010-06-09 3 views
0

Каков наилучший способ сделать выпадающую пару города/страны в ASP.NET MVC?UI Design - шаблон дизайна для города/страны выпадающего? (ASP.NET MVC)

Я вижу много мест со страной над городом, но это неестественно: в реальной жизни мы пишем город/страну. Я использовал город, потом страну, но проблема в том, что тогда пользователь должен вернуться назад после смены страны.

Другая проблема в том, что вы делаете о городах/странах, не входящих в ваш список? Если город/страна являются ниспадающими, то пользователь не может напечатать свой собственный город, если он отсутствует. Но если у вас выпадающее меню и текстовое поле, это делает его громоздким (в итоге вы получаете 4 элемента управления для ввода двух частей данных).

Есть ли примеры веб-сайтов, где выпадающая пара города/страны выполняется очень удобным и понятным образом?

ответ

4

Не используйте раскрывающийся список для городов.

  1. У вас никогда не будет полного списка.
  2. Пользователи не хотят искать свой город в списке.
  3. Пользователи привыкли печатать свой родной город.
  4. Большинство браузеров имеют возможность заполнения формы для общих имен полей, таких как «город».

Вы можете предложить текстовое поле с автозаполнением вместо раскрывающегося списка. Это имеет большинство преимуществ раскрывающегося списка без побочных эффектов.

+1

Хехе - набрал аналогичный ответ, когда получил уведомление «ответ был отправлен». =) – RPM1984

+0

Хорошая точка в текстовом поле с автозаполнением как лучший способ сделать текстовое поле при сохранении некоторого словарного контроля. – Turnkey

0

При проведении такого иерархического отбора не обязательно неестественно поставить страну сверху, так как изменение изменит доступный выбор города, и пользователи привыкнут к этому с помощью веб-приложения (как вы говорите, это распространено). Я думаю, что единственный раз, когда это будет выглядеть неестественно, если он используется для шаблона, который выглядит как почтовый адрес.

Для обработки отсутствующего города или страны вы можете добавить «[НЕ В СПИСОК]» в нижней части каждого выбора, который может динамически отображать текстовое поле, чтобы ввести его. Конечно, если это новая страна, то вы добавит текстовое поле как для страны, так и для города, поскольку по определению это не будет. Затем элементы управления отображаются только в тех случаях, когда они необходимы.

И все это лучше всего обрабатывать JQuery для пользовательского интерфейса через методы JSON в контроллере.

Смежные вопросы