Хочу реализовать такую штуку. На сайте будет появляться окно, где человек сначала выбирает страну, а потом город.
- Вылезло окно -> блок со страной, выбрал страну -> вылез блок div со списком городов этой страны.
Когда человек выбрал страну и город, в url записался код, допусти РФ будет /ru, Беларусь /by. И остаётся на какой то период времени этот код через куки или сессию.
Массив я так понял надо делать, где в массиве имеется такой план:
-Россия
- - Москва
- - Питер
-Беларусь
- -Минск
- - Гомель
Потом это на выходе в select выводится. При выборе РФ, во втором блоке должно показываться города которые к РФ относятся, когда выбрали допустим Москва, добавился какой то символ в урл и записался.
Это я в первые себе задачу ставлю, как реализовать такое кто пробовал, может пример какой есть, буду благодарен..!!!!
Хотите реализовать или найти готовую реализацию?
Если первое, то сделайте минимальную работу: разметку, пример данных для пары городов в паре стран – чтобы было с чем экспериментировать.
Где при выборе Страны выбирается свой город. Сейчас голову ламаю как сделать, чтоб при выборе города, в url записывался на какое то время не смотря на какую страницу сайта зайти, приставка типа /loc=ru
А в начале при загрузке страницы проверять, есть ли что в LS:
selectedCountry = localStorage.getItem('myCountry');
selectedCity = localStorage.getItem('myCity');
if (selectedCountry) {
// установить выбранным страну
if (selectedCity) {
// установить выбранным ещё и город
}
}
URL менять не так здорово.. Это вы для сервера стараетесь, чтобы он выдал контент соотв. городу? Или всё происходит только на фронтенде у посетителя в браузере?
Сергей Соколов, Я просто задумал так, чтоб на сайте было больше url для поисковой системы. Вот и вопрос на вопросе у меня стоит и думаю как лучше поступить..
selectedCountry = localStorage.getItem('myCountry');
selectedCity = localStorage.getItem('myCity');
if (selectedCountry) {
// установить выбранным страну
if (selectedCity) {
// установить выбранным ещё и город
}
}
cityEl.addEventListener('change', (e) => {
localStorage.setItem('myCountry', selectedCountry);
localStorage.setItem('myCity', selectedCity);
});
Выход записи такой, значит надо сделать чтоб когда я выбрал город сразу записалось, либо кнопку какую ту типо "Применить" данные записывались и сохранялись, верно думаю я?
ART4, либо держать выбранную страну в глобальной переменной (плохо) или каком-то объекте состояния, как свойство - до которого можно дотянуться из любого места кода.
Сергей Соколов, Начитался, насмотрелся и всё равно не понял почему при выборе страны и города не вписывается данные полученные через select мой. localStorage.setItem - заменяет/удаляет вроде как. но мне Null выдаёт и хоть убейся