Множественный выбор в Safari iOS 7

Когда я использую множественную опцию в раскрывающемся списке выбора – safari попадает в странные проблемы. Когда я выберу вариант и скажу «Готово», выпадающее меню вернется к показу «0 элементов». Но если я выбираю несколько опций (более одного), выбирается все, кроме первого. После этого, если я отменил выбор всех параметров, последний останется выбранным.

Проверьте это для демонстрации, используя safari на iOS 7.0.3.

 option 1 option 2 option 3  

Я посмотрел на http://www.thecssninja.com/html/optgroup-ios6 , но это говорит о проблемах с использованием optgroups – которые (когда используется с несколькими) в настоящее время, похоже, полностью разрушают safari.

  // hack for iPhone 7.0.3 multiselects bug if(navigator.userAgent.match(/iPhone/i)) { $('select[multiple]').each(function(){ var select = $(this).on({ "focusout": function(){ var values = select.val() || []; setTimeout(function(){ select.val(values.length ? values : ['']).change(); }, 1000); } }); var firstOption = ''; select.prepend(firstOption); }); } 

Просто добавьте:

  

как первый элемент множественного выбора.

Это частично было зафиксировано в 7.1, которое было выпущено на днях, однако по-прежнему остается много вопросов. Количество элементов теперь правильно, но …

  • вы можете выбрать названия optgroup (вы не сможете это сделать, и если да, то он должен по крайней мере выбрать / отменить выбор всей группы.

  • если вы отключите опцию вы все равно можете выбрать ее, которая, конечно же, полностью неправильная.

Получите это вместе Apple.

«Множественные избранные» ошибки в Safari в iOS 7.0.3 на iPhone были сообщены другими, а также на дискуссионных форумах Apple; например:

https://discussions.apple.com/message/23745665#23745665

https://discussions.apple.com/message/23607781#23607781

Поскольку это Apple, которая должна будет исправить это, можно достичь консенсусного подхода к тому, что вы можете сделать, чтобы помочь разрешить эту проблему, за сообщения по этим двум темам обсуждения:

  • Найдите существующие ошибки и, если необходимо, напишите новую ошибку через Apple Bug Reporter.
  • Присоединитесь к существующим темам обсуждения об этом на форумах разработчиков Apple и откройте новую тему, если это еще не обсуждалось. (Обсуждения, приведенные выше, имели место на публичных форумах Apple, в области «Использование iPhone», и как таковые не обязательно могли быть замечены или отреагированы сотрудниками Apple Support Support.)

Кажется, я придумал исправление с таинственным работами с jQuery. Я предполагаю, что вы могли бы использовать ваниль-ify, если вам не нужна зависимость jQuery:

 /** * iOS mutliple select fix. */ if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) { $('select[multiple]').each(function() { $(this).prepend(''); $(this).append(''); }); } 
Interesting Posts
Давайте будем гением компьютера.