Javascript 下拉菜单可记住所选内容并重定向用户,使其能够更改所选国家/地区
-但该问题仅提供一次性使用的解决方案 我的问题是,当我有下拉菜单,我从选择下拉菜单中选择某个城市时,我会被重定向到城市页面,我的选择会保存到本地存储,所以每次我再次访问网站时,我都会被重定向到我第一次访问网站时选择的城市。这很好 我需要做的是把这个网站的每一页选择菜单,我需要的能力,改变它随时我想要的。所以,当我现在在纽约,但明天我将在洛杉矶,我想点一些食物,我只是改变城市的选择菜单,它将设置一个新的主网站主页重定向到洛杉矶的URL地址 我曾尝试将的下拉列表放入每页的页眉中,但当我将其放入页眉时,我陷入了重定向循环,因此,当我第一次访问主页时选择纽约市,下拉列表位于纽约页(例如页眉中)它不断地用无限重定向循环将我从纽约重定向到纽约,这就是我需要消除的 我的密码在这里。有什么想法吗?提供代码编辑会很好,因为我是JavaScript新手,解决这个问题需要很多时间。多谢各位Javascript 下拉菜单可记住所选内容并重定向用户,使其能够更改所选国家/地区,javascript,html,jquery,redirect,local-storage,Javascript,Html,Jquery,Redirect,Local Storage,-但该问题仅提供一次性使用的解决方案 我的问题是,当我有下拉菜单,我从选择下拉菜单中选择某个城市时,我会被重定向到城市页面,我的选择会保存到本地存储,所以每次我再次访问网站时,我都会被重定向到我第一次访问网站时选择的城市。这很好 我需要做的是把这个网站的每一页选择菜单,我需要的能力,改变它随时我想要的。所以,当我现在在纽约,但明天我将在洛杉矶,我想点一些食物,我只是改变城市的选择菜单,它将设置一个新的主网站主页重定向到洛杉矶的URL地址 我曾尝试将的下拉列表放入每页的页眉中,但当我将其放入页眉时
<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>