为了账号安全,请及时绑定邮箱和手机立即绑定

下拉菜单可记住选择并重定向用户,并能够更改所选国家/地区

下拉菜单可记住选择并重定向用户,并能够更改所选国家/地区

万千封印 2023-08-18 10:07:43
我的问题是,当我有下拉菜单并从选择下拉列表中选择某个城市时,我会被重定向到城市页面,并且我的选择会保存到本地存储中,因此每次我再次访问网站时,我都会被重定向到我选择的城市我的第一次网站访问。这可以。我需要的是将此选择菜单放在网站的每个页面上,并且我需要能够随时更改它。因此,当我目前在纽约但明天我将在洛杉矶并且我想订购一些食物时,我只需更改选择菜单中的城市,它将设置一个新的主要网站主页重定向到洛杉矶 URL 地址。我尝试将下拉列表放入每个页面 - 标题中,但是当我将其放在那里时,我陷入了重定向循环,因此当我第一次访问主页时选择纽约市时,下拉列表位于&ldquo;新&rdquo;页面上纽约(例如在标头中)它不断将我从纽约重定向到纽约,并具有无限重定向循环,这就是我需要消除的。我的代码在这里。有什么想法吗?提供代码编辑会很棒,因为我是 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>
查看完整描述

2 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

代替

!location.href.indexOf(val)

location.href.indexOf(val) === -1


查看完整回答
反对 回复 2023-08-18
?
森栏

TA贡献1810条经验 获得超5个赞

正确答案如下。


代码


<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>


查看完整回答
反对 回复 2023-08-18
  • 2 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信