Список городов на странице HTML - PullRequest
3 голосов
/ 14 апреля 2011

Я хочу, чтобы пользователь выбирал город при заполнении своего профиля. Какой лучший способ сделать это в веб-приложении?

У меня есть другой способ, чем просто сохранить список городов в моей БД. Может быть, какой-нибудь публичный API?

Ответы [ 3 ]

4 голосов
/ 14 апреля 2011

Лучший способ сделать это - использовать большую базу данных, если вы не хотите, чтобы пользователь мог ввести название города.

К счастью для вас, вам не нужно выходить и создавать базу данных самостоятельно.Вот каталог бесплатных баз данных: http://www.sqldumpster.com/databases/geographic/

1 голос
/ 14 апреля 2011

Я бы просто использовал простое текстовое поле с автозаполнением. Вы можете получить список городов, но вам придется обновлять его, и вам придется беспокоиться о чепухе, такой как разница между «Сент-Джон», «Сент-Джон» и «Сент-Джон». *

Отправка целого списка городов клиенту будет просто кошмаром пользовательского интерфейса, список выбора будет содержать тысячи и тысячи записей, и вам придется отправлять много данных клиенту; нет причин ненавидеть своих посетителей так сильно.

Автозаполнитель может использовать выбранные в данный момент города для предоставления предложений по новым городам. Если у вас есть названия городов в нескольких местах, просто сохраните основной список городов для автозаполнения и обновляйте его новыми записями каждый день. В итоге вы получите список городов, но этот список будет построен сам.

Простой ввод текста будет работать везде, и почти каждый может довольно легко напечатать название своего города.

0 голосов
/ 14 апреля 2011

Вы можете хранить их в текстовом файле, иметь копию на своем сервере (для проверки) и загружать города через AJAX.

Однако такой подход будет нарушен для пользователей без JS.

И, чтобы быть снобом, вы можете определить best ? Лучший в каком смысле? Самый быстрый? Самый легкий? Awesomest? Самый питон? Я не уверен, что вы подразумеваете под этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...