I am trying to call a simple function on a specific option selection in a dropdown menu.
In this example, I want to the function to execute only when the 4th option is selected
<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>
It's very simple.
First you need to use this.value
instead of this.selectedIndex
.
Second thing is you must use ==
to test equality, instead of =
to set a new value
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>