Обычно подходят с другой стороны, пользователь выбирает регион и страну, а затем уже город. В вашем же случае вам придется разруливать ситуации, когда в разных странах есть город с одинаковым названием (скажем Париж в Беларуси и Франции, и всякие другие забавные примеры).
Используйте
сервисы для определения местоположения пользователя. В довольно большом проценте случаев даже и вводить пользователю тогда ничего не придется, что улучшит юзабилити.