jQuery изменяет выбранное значение и отправляет форму из значения localStorage - PullRequest
0 голосов
/ 28 ноября 2018

У меня проблема.У меня есть выбор с категорией имени и есть код:

if (localStorage.getItem('category') !== null) {
  $('select[name=category]').val(localStorage.getItem('category')).trigger('change');
  $('.form-search').submit();
}

Если в Локальном хранилище у меня есть идентификатор, то я изменяю выбранное значение в выборе.Но как я могу отправить эту форму?Мой код не работает, потому что страница перезагружается много раз ..

МОЯ форма:

<form method="get" class="form-search">
....
      <select name="category">
            <option value="1">Auto</option>
            <option value="2">Sport</option>
            ...
      </select>
</form>

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Возможно, вам не нужен триггер

if(localStorage.getItem('category') !== null) {
 $('select[name=category]').val(localStorage.getItem('category'));
    $('.form-search').submit(function(e){
      e.preventDefault();
    });
}

Контрольный код здесь

0 голосов
/ 28 ноября 2018

Поскольку форма не имеет action, браузер отправляет форму на эту страницу и страница перезагружается, а вы не удалили localStorage код, который снова запустился.Поэтому вы должны удалить localStorage category перед отправкой формы.

var category = localStorage.getItem('category');
if (category !== null) {
  $('select[name=category]').val(category).trigger('change');
  localStorage.removeItem('category');
  $('.form-search').submit();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...