Кнопка перенаправления на другую страницу внутри тега option всегда перенаправляет на ту же страницу (JavaScript) - PullRequest
2 голосов
/ 17 июня 2020

Я сделал тег <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 перенаправление на ссылку1, если = 2 перенаправление на ссылку2)

1 Ответ

3 голосов
/ 17 июня 2020

Ну, есть логический c разрыв между тем, что вы хотите, и тем, что вы написали. Вы повторяете массив 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");
        }
}

...