我的问题是,当我有下拉菜单并从选择下拉列表中选择某个城市时,我会被重定向到城市页面,并且我的选择会保存到本地存储中,因此每次我再次访问网站时,我都会被重定向到我选择的城市我的第一次网站访问。这可以。
我需要的是将此选择菜单放在网站的每个页面上,并且我需要能够随时更改它。因此,当我目前在纽约但明天我将在洛杉矶并且我想订购一些食物时,我只需更改选择菜单中的城市,它将设置一个新的主要网站主页重定向到洛杉矶 URL 地址。
我尝试将下拉列表放入每个页面 - 标题中,但是当我将其放在那里时,我陷入了重定向循环,因此当我第一次访问主页时选择纽约市时,下拉列表位于“新”页面上纽约(例如在标头中)它不断将我从纽约重定向到纽约,并具有无限重定向循环,这就是我需要消除的。
我的代码在这里。有什么想法吗?提供代码编辑会很棒,因为我是 JavaScript 新手,我花了很长时间才解决这个问题。非常感谢!
<script type="text/javascript">
if (localStorage && localStorage.country) {
location = localStorage.country;
}
function formChanged(form) {
var val = form.options[form.selectedIndex].value;
if (val !== 'non-value') {
if (localStorage) {
localStorage.country = val;
}
location = val;
}
}
</script>
<FORM NAME="form1">
<select onchange="formChanged(this);" NAME="country" SIZE="1">
<OPTION VALUE="non-value">Select delivery city
<OPTION VALUE="/kategoria-produktu/cadca/">New York
<OPTION VALUE="/kategoria-produktu/brno/">Los Angeles
<OPTION VALUE="/kategoria-produktu/bratislava/">Tokyo
</select>
</FORM>
更新 - 这工作正常,但当我位于当前页面网址时,此脚本没有显示实际选择的选项。有什么想法如何解决这个问题吗?
<script type="text/javascript">
if(location.href.indexOf(localStorage.country) == -1){
location.href = localStorage.country
}
function formChanged(form) {
var val = form.options[form.selectedIndex].value;
if (val !== 'non-value') {
if (localStorage) {
localStorage.country = val;
}
if (!location.href.indexOf(val)) {
location = val;
}
}
}
</script>
<FORM NAME="form1">
<select id="saleTerm" onchange="formChanged(this); location =
this.options[this.selectedIndex].value;" NAME="country" SIZE="1">
<OPTION VALUE="non-value">Select delivery city
<OPTION VALUE="/kategoria-produktu/cadca/">Čadca
<OPTION VALUE="/kategoria-produktu/brno/">Brno
<OPTION id="bratislava" VALUE="/kategoria-produktu/bratislava/">Bratislava
</select>
</FORM>
FFIVE
森栏
相关分类