Search code examples
javascriptdropdown

Call function on specific dropdown selection


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>

Solution

  • 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>