重定向到选项标签内的另一个页面按钮始终重定向到同一页面(JavaScript)

时间:2020-06-17 18:39:24

标签: javascript for-loop if-statement

我制作了一个<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)

1 个答案:

答案 0 :(得分:4)

好吧,你想要的和写的之间存在逻辑鸿沟。 您正在迭代value数组,其中第二次迭代将给出value=1,而if(value=1)语句将始终为true。这就是为什么始终将您重定向到link1的原因。 更改:

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

function changePage(optionVal){

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