Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 下拉菜单可记住所选内容并重定向用户,使其能够更改所选国家/地区_Javascript_Html_Jquery_Redirect_Local Storage - Fatal编程技术网

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

Javascript 下拉菜单可记住所选内容并重定向用户,使其能够更改所选国家/地区,javascript,html,jquery,redirect,local-storage,Javascript,Html,Jquery,Redirect,Local Storage,-但该问题仅提供一次性使用的解决方案 我的问题是,当我有下拉菜单,我从选择下拉菜单中选择某个城市时,我会被重定向到城市页面,我的选择会保存到本地存储,所以每次我再次访问网站时,我都会被重定向到我第一次访问网站时选择的城市。这很好 我需要做的是把这个网站的每一页选择菜单,我需要的能力,改变它随时我想要的。所以,当我现在在纽约,但明天我将在洛杉矶,我想点一些食物,我只是改变城市的选择菜单,它将设置一个新的主网站主页重定向到洛杉矶的URL地址 我曾尝试将的下拉列表放入每页的页眉中,但当我将其放入页眉时

-但该问题仅提供一次性使用的解决方案

我的问题是,当我有下拉菜单,我从选择下拉菜单中选择某个城市时,我会被重定向到城市页面,我的选择会保存到本地存储,所以每次我再次访问网站时,我都会被重定向到我第一次访问网站时选择的城市。这很好

我需要做的是把这个网站的每一页选择菜单,我需要的能力,改变它随时我想要的。所以,当我现在在纽约,但明天我将在洛杉矶,我想点一些食物,我只是改变城市的选择菜单,它将设置一个新的主网站主页重定向到洛杉矶的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>

if(localStorage&&localStorage.country){
location=localStorage.country;
}
功能表单已更改(表单){
var val=form.options[form.selectedIndex].value;
如果(val!=“非值”){
if(本地存储){
localStorage.country=val;
}
位置=val;
}
}
选择配送城市
纽约
洛杉矶
东京
更新-这工作正常,但是当我在当前页面url时,这个脚本没有显示实际选择的选项。有什么办法解决这个问题吗

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

if(location.href.indexOf(localStorage.country)=-1){
location.href=localStorage.country
}
功能表单已更改(表单){
var val=form.options[form.selectedIndex].value;
如果(val!=“非值”){
if(本地存储){
localStorage.country=val;
}
如果(!location.href.indexOf(val)){
位置=val;
}
}
}
选择配送城市
Čadca
布尔诺
布拉迪斯拉发
代替

!location.href.indexOf(val)

代替

!location.href.indexOf(val)


正确的答案是贝娄。所有学分均为@imvain2。非常感谢你。如果你能把你的答案贴在这里,我可以把它标记为解决方案

代码


if(location.href.indexOf(localStorage.country)=-1){
location.href=localStorage.country
}
功能表单已更改(表单){
var val=form.options[form.selectedIndex].value;
如果(val!=“非值”){
if(本地存储){
localStorage.country=val;
}
如果(!location.href.indexOf(val)){
位置=val;
}
}
}
选择配送城市
Čadca
布尔诺
布拉迪斯拉发

正确答案如下。所有学分均为@imvain2。非常感谢你。如果你能把你的答案贴在这里,我可以把它标记为解决方案

代码


if(location.href.indexOf(localStorage.country)=-1){
location.href=localStorage.country
}
功能表单已更改(表单){
var val=form.options[form.selectedIndex].value;
如果(val!=“非值”){
if(本地存储){
localStorage.country=val;
}
如果(!location.href.indexOf(val)){
位置=val;
}
}
}
选择配送城市
Čadca
布尔诺
布拉迪斯拉发

而不是
location=localStorage.country我会尝试:
如果(location.href!=localStorage.country){location.href=localStorage.country}
你好@imvain2谢谢你的回复。此解决方案还使我处于重定向循环中。:/正如您在评论中提到的,我已替换了标记下的前3行,但没有任何帮助。@imvain2请查看我的问题编辑以了解我是如何编辑代码的。确定尝试此:
if(location.href.indexOf(localStorage.country)=-1){
@imvain2这很好。谢谢!但是现在当我从下拉列表中选择任何其他城市时,例如LA,它在选择后不会重定向我,我必须手动刷新纽约页面以查看所选的下拉列表城市,刷新后它会显示LA。因此它禁用了从select自动重定向。而不是
位置=localStorage.country;
我会尝试:
如果(location.href!=localStorage.country){location.href=localStorage.country}
Hello@imvain2感谢您的回复。此解决方案也让我处于重定向循环中。:/I已替换了您在评论中提到的标记下的前3行,但没有任何帮助。@imvain2查看我的问题编辑以了解我是如何编辑代码的。确定尝试此:
if(location.href.indexOf(localStorage.country)=-1){
@imvain2这很好。谢谢!但是现在,当我从下拉列表中选择任何其他城市(例如LA)时,它在选择后不会重定向我,我必须手动刷新纽约页面以查看所选的下拉列表城市,刷新后它会显示LA。因此,它禁用了从选择中自动重定向。
<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>