一直在为这件事而挣扎,我很感激你的任何帮助和帮助.
我有一个带有select的下拉栏,它用ajax在页面上拉出结果.唯一的问题是它复制了被拉进来的结果。但是,如果页面在加载结果后进行了硬刷新,这是可以修复的,这就是我想用jquery来模仿的.
基本上,我希望这样,在用户加载"selected“的任何时候,它都会加载页面的结果,并在大约一秒钟后硬刷新窗口。
这是我试图使用的代码,但它不起作用:
编辑的尝试-
<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>任何善良的灵魂都能指引我走向正确的方向吗?
select标记下拉列表的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>非常感谢你的帮助。
发布于 2018-12-07 18:19:52
您打开的范围没有正确关闭。请先关闭它们。然后尝试下面的代码片段。
注:这个问题被回答了很多次。Difference between setTimeout with and without quotes and parentheses
$(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>
发布于 2018-12-07 18:01:30
若要立即触发页面重新加载,请使用window.location.reload(true)。如果希望在延迟后发生这种情况,请将其指定为对window.setTimeout()的回调。
window.setTimeout(() => window.location.reload(true), delay);其中delay是重新加载之前等待的时间长度。注意,这个函数是非阻塞的;在它执行之后的代码将继续执行,直到计时器用完,页面重新加载。
https://stackoverflow.com/questions/53674546
复制相似问题