В iOS 8.0 Apple представила новую ошибку в Safari на iPhone, которая, по моему мнению, очень серьезная при использовании нескольких элементов <select>
. Он обычно используется, например, для выбора дня рождения. Воспроизведение:
-
Создайте страницу с двумя
<select>
с несколькими<option>
в каждом -
Открыть в Safari на iOS 8 на iPhone (ошибка все еще существует в 8.0.2)
-
Нажмите первый
<select>
-
Выберите третий вариант, т.е. March
-
Обратите внимание, что он не обновляет
<select>
до того, что вы выбрали (он работает в iOS 7) -
Нажмите второй элемент
<select>
-
Обратите внимание на следующее:
- Первый
<select>
не обновляет - Второй
<select>
показывает 3 (это позиция первого<select>
) - В подборщике ниже показано 1
- Первый
Вы можете повторить это, чередуя нажатие первой и второй <select>
, и обратите внимание, что она изменяется в том же шаблоне. Это может появиться случайным образом, если вы не знаете шаблон). Это выглядит еще более запутанным, если у вас также есть год-сборщик.
Чтобы попробовать на своем мобильном устройстве, попробуйте этот jsfiddle: http://jsfiddle.net/m7baw590/6/embedded/result/
Кроме того, onchange="alert(this.value)"
сообщает неправильное значение (то же, что выбрано во втором элементе <select>
. Вы можете видеть это здесь: http://jsfiddle.net/m7baw590/7/embedded/result/
Эти ошибки не возникают, если вы нажимаете "Готово" между каждым выбором или используйте стрелки для переключения.
Есть ли какое-либо обходное решение для этого?