[英]Resetting a select box not working on iPad, but works on Chrome on Windows
这是我现在正在使用的Javascript代码。
$(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
的选项。
这是为了防止浏览器缓存其先前的值。 例如,如果我在“关于”页面上并将其更改为“服务”,它将带我进入“服务”页面。 如果单击浏览器后退按钮,它将返回到“关于”页面,但其活动选择是“服务”,因为它在更改页面之前已更改为“服务”。
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
,但每个页面都不同。 对于Home, /services
, /contact
, /about
和/news
,正常值是/
,但是当在这些页面之一上时,该选项的值设置为currentPage
。
无论如何,该代码可以像在Windows版Chrome浏览器上那样正常工作,但是当我在iPad(可能还有iPhone)上进行测试时,按下“后退”按钮时,它始终会返回“首页”。
当我注释掉该行的location.href = altNavSelectedVal;
例如,如果我在“新闻”页面上并选择“服务”,则应该在选择“服务”后切换回“新闻”,但实际上是选择“主页”。 我不明白为什么只能在iOS上执行此操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.