Как обновить страницу на выбор с помощью jquery ... через несколько секунд? - PullRequest
0 голосов
/ 07 декабря 2018

Я действительно боролся с этим, я был бы признателен за любую помощь или толчок в правильном направлении ...

У меня есть выпадающая панель с выбором, которая вытягивает результаты на странице с ajax ... только проблемазаключается в том, что он дублирует извлекаемые результаты. Однако это можно исправить, если после загрузки результатов страница обновляется HARD, что я и хотел бы эмулировать с помощью jquery ...

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

Это код, который я пытаюсьиспользовать, но это не работает:

Отредактированная попытка -

 <script type="text/javascript">
 jQuery(document).ready(function($) { 

   $('.filter').change(function(){
 setTimeout(function(){
  location.reload(true);
 },5000); // here 5000 is the delay of 5s
 });
 });                    
</script>

Может ли какая-нибудь добрая душа направить меня в правильном направлении?

HTML-код раскрывающегося списка тегов выглядит следующим образом:

<select class="filter">
<option value="#">-- All --</option>
<option id="select-denver" value="denver" 
selected="selected">Denver</option>
<option id="select-laramie-wyoming" value="laramie-wyoming">Laramie, 
Wyoming</option>
</select>

Большое спасибо за любую помощь.

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

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

Примечание. На этот вопрос много раз отвечают. Разница между setTimeout с и без кавычек и скобок

$(document).ready(function(){
  $('.filter').change(function(){
    setTimeout(function(){
      location.reload(true);
    },5000); // here 5000 is the delay of 5s
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<select class="filter">
  <option value="#">-- All --</option>
  <option id="select-denver" value="denver" 
  selected="selected">Denver</option>
  <option id="select-laramie-wyoming" value="laramie-wyoming">Laramie, 
  Wyoming</option>
</select>
0 голосов
/ 07 декабря 2018

Для немедленной перезагрузки страницы вы должны использовать window.location.reload(true).Если вы хотите, чтобы это произошло после задержки, укажите ее в качестве обратного вызова для window.setTimeout():

window.setTimeout(() => window.location.reload(true), delay);

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

...