Javascript 重置选择框在iPad上不起作用,但在Windows上的Chrome上起作用
下面是我现在正在使用的Javascript代码Javascript 重置选择框在iPad上不起作用,但在Windows上的Chrome上起作用,javascript,jquery,html,back,Javascript,Jquery,Html,Back,下面是我现在正在使用的Javascript代码 $(document).ready(function(){ $('#altNav').change(function(){ var altNavSelectedVal = $('#altNav').val(); if (altNavSelectedVal != 'currentPage') { $('#altNav option[value="currentPage"]
$(document).ready(function(){
$('#altNav').change(function(){
var altNavSelectedVal = $('#altNav').val();
if (altNavSelectedVal != 'currentPage')
{
$('#altNav option[value="currentPage"]').attr('selected', 'selected');
location.href = altNavSelectedVal;
}
});
});
它用于在导航到下一页之前,将ID为altNav的选择框重置为值为currentPage的选项
这是为了防止浏览器缓存其以前的值。例如,如果我在“关于”页面上,我将其更改为“服务”,它将带我进入“服务”页面。如果我点击browser back(浏览器返回)按钮,它将返回到About(关于)页面,但其活动选择将是Services(服务),因为它在更改页面之前已更改为Services(服务)
下面是HTML代码
<select id="altNav">
<option value="/">Home</option>
<option value="/services">Services</option>
<option value="currentPage" selected="selected">Contact</option>
<option value="/about">About</option>
<option value="/news">News</option>
</select>
通常,如果联系人选项位于另一页上,则其值为/Contact,但每个页的值都不同。正常值为/for Home、/services、/contact、/about和/news,但当它位于其中一个页面上时,该选项的值设置为currentPage
不管怎么说,该代码在Chrome for Windows上的工作原理是一样的,但当我在iPad上测试时,可能是在iPhone上,当按下“后退”按钮时,它总是回到家里
当我注释掉行location.href=altNavSelectedVal;例如,如果我在新闻页面上选择服务,它应该在选择服务后切换回新闻,但它实际上选择了主页。我不明白为什么它只能在iOS上执行此操作。我没有ipad/iphone,但您可能需要删除旧的选定的
$('#altNav').removeAttr('selected');