Обходной путь для ошибки с опцией 0 <select>в Mobile Safari на iPad? - PullRequest
6 голосов
/ 09 августа 2011

В Mobile Safari на iPad кажется, что если для элемента <select> не выбран ни один параметр, пользователь не может выбрать 0-й вариант, прежде чем выбрать другой (сначала попробуйте его на http://jsfiddle.net/PJTKq/iPad).

Чтобы быть более конкретным:

  1. Создайте элемент <select> с двумя или более параметрами.
  2. Очистите его, программно установив selectedIndex = -1или удалив атрибут "selected" из всех элементов <option>.
  3. Коснитесь элемента select и выберите 0-й вариант.Выбранный индекс не изменится.
  4. Коснитесь элемента select и выберите другой вариант, затем снова нажмите его и выберите 0-й вариант.Выбранный индекс должен измениться дважды.

Кто-нибудь знает обходной путь (помимо вставки пустой фиктивной опции), который позволил бы перейти непосредственно от selectedIndex -1 к selectedIndex 0?

Ответы [ 2 ]

1 голос
/ 01 декабря 2011
<script>    
// with jQuery
var iPad = !!navigator.userAgent.match(/iPad/i),
    select = "select";

if(iPad === true) {  
    $(select).prop("selectedIndex", 0);
}
</script>
0 голосов
/ 11 августа 2011

Пока ошибка не будет устранена, возможно, вы сможете обнаружить пользовательский агент и установить selectedIndex=0 по умолчанию для Mobile Safari.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...