首页 > 解决方案 > 重定向到选项标签内的另一个页面按钮始终重定向到同一页面(JavaScript)

问题描述

我做了一个<select>标签,里面有一些option标签

<select name="Persons" onchange="changePage(this.value); this.selectedindex = -1">
<option class="op" value="0">option1 </option>
<option class="op" value="1">option2 </option>

等等..并使用js我制作了一个值数组values = ['0','1']

然后做了一个函数来根据点击的值重定向到一个页面

function changePage(){
   for (let i=0; i < values.length ; i++){
    let value = values[i]
        if (value=1){
            window.location.replace("link1");
           } else if (value=2) {
            window.location.replace("link2");
           }
    }
}
}

每当我单击选项 1 或 2 时,它只会重定向到选项 1

预期:根据value(如果=1重定向到link1如果=2重定向到link2)重定向

标签: javascriptfor-loopif-statement

解决方案


好吧,你想要的和你写的之间存在逻辑差距。您正在迭代value第二次迭代将给出的数组,value=1并且该if(value=1)语句将始终为真。这就是为什么你总是被重定向到link1。变化:

无需维护 JS 数组value。更改功能如下:

function changePage(optionVal){

 if (optionVal == "1"){
            window.location.replace("link1");
         } else if (optionVal == "2") {
            window.location.replace("link2");
        }
}


推荐阅读