iOS select onchange not firing

George Kendros picture George Kendros · Nov 4, 2011 · Viewed 25.7k times · Source

Does anyone know any workarounds for this? I'm trying to use a select element for navigation. It looks something like this;

<select onchange="window.location=(this.options[this.selectedIndex].value)">

It works on all desktop browsers and it also works on my WP7 phone. It doesn't work on my iPhone (iOS 5.0).

Answer

Paul Irish picture Paul Irish · May 11, 2012

iOS tends to not fire change events when you change the value of their inputs. I've documented this in more depth at the Device-Bugs tracker.

The workaround is to bind to the blur event instead. In the above example, use onblur and you'll be all set.

<select onblur="window.location=(this.options[this.selectedIndex].value)">