@zhen_safronov

Как решить проблему с мобильной перезагрузкой и localStorage?

Есть функция которая через Яндекс определяет город и задает эту дефолтную настройку городом пользователя
jQuery(document).ready(function () {
            ymaps.ready(function () {
                var geolocation = ymaps.geolocation;
                    var city = geolocation.city;
                localStorage.setItem('gorod', city);
            });
        });

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

Так же есть функция чтобы можно было самому задать город.
После выбора, значение записывается и страница перезагружается .Но только в компьютерной версии. в Мобильной после выбора - тишина.
<div class="block-city">
            <div class="text-city">Сменить город на:</div> 
            <form id="feedbackForm2" class="form">
                   
                    <select id="fruit">
                        <option  value="Минск">Минск</option>
                        <option  value="Могилев">Могилев</option>
                        <option  value="Гродно">Гродно</option>
                        <option  value="Витебск">Витебск</option>
                        <option  value="Гомель">Гомель</option>
                        <option  value="Брест">Брест</option>
                    </select>
                </form>
            </div>
            
                <script>
            document.getElementById("fruit").onchange = function() {
                localStorage.setItem('gorod', document.getElementById("fruit").value);
   location.reload();

            }
             
if (localStorage.getItem('gorod')) {
   document.getElementById("fruit").value = localStorage.getItem('gorod');
}


                </script>
  • Вопрос задан
  • 79 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы