Вызов функции при выборе конкретного выпадающего списка - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь вызвать простую функцию для выбора определенной опции в раскрывающемся меню.

В этом примере я хочу, чтобы функция выполнялась только при выборе 4-й опции

<select onchange="if (this.selectedIndex = 4) mypopup();">
<option value="1">P1</option>
<option value="2">P2</option>
<option selected="selected" value="3">P3</option>
<option value="4">P4</option>
</select>

Ответы [ 4 ]

1 голос
/ 08 апреля 2019

вам нужно проверить индекс, как показано ниже, чтобы убедиться, что выбран 4-й вариант.

<select onchange="if (this.selectedIndex == 3){ mypopup();}">
<option value="1">P1</option>
<option value="2">P2</option>
<option selected="selected" value="3">P3</option>
<option value="4">P4</option>
</select>
1 голос
/ 08 апреля 2019

Вам нужна функция, когда вызывается событие onchange, и вам нужно проверить, какая опция выбрана, а затем просто активировать другую функцию.

function selectChange(ev){
  const value = ev.target.value;
  if(value === 3){
    myPopup(); // call your function
  }
}
<select onchange="selectChange(event)">
<option value="1">P1</option>
<option value="2">P2</option>
<option value="3">P3</option>
<option value="4">P4</option>
</select>
0 голосов
/ 08 апреля 2019

Я бы предложил работать только с вашей функцией.

myPopup(e, id){

  if(id==4)
    //todo
  }
  else{
    //stop the event
    e.stopPropagation();
  }
}
0 голосов
/ 08 апреля 2019

Это очень просто.

Сначала вам нужно использовать this.value вместо this.selectedIndex.

Во-вторых, вы должны использовать == для проверки равенства вместо = для установки нового значения

let mypopup = function() {
  alert("Popup")
}
    <select onchange="if (this.value == 4) mypopup();">
      <option value="1">P1</option>
      <option value="2">P2</option>
      <option selected="selected" value="3">P3</option>
      <option value="4">P4</option>
    </select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...