Множественный выбор в Safari iOS 7
Когда я использую множественную опцию в раскрывающемся списке выбора - сафари попадает в странные проблемы. Когда я выберу вариант и скажу "Готово", выпадающее меню вернется к показу "0 элементов". Но если я выбираю несколько опций (более одного), выбирается все, кроме первого. После этого, если я отменил выбор всех параметров, последний останется выбранным.
Проверьте это для демонстрации, используя сафари на iOS 7.0.3.
<select multiple="multiple">
<option value="1">option 1</option>
<option value="2">option 2</option>
<option value="3">option 3</option>
</select>
Я просмотрел http://www.thecssninja.com/html/optgroup-ios6, но это говорит о проблемах с использованием optgroups, которые (когда используется с несколькими) в настоящее время, похоже, полностью разрушают сафари.
Ответы
Ответ 1
// 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 = '<option value="" disabled="disabled"';
firstOption += (select.val() || []).length > 0 ? '' : ' selected="selected"';
firstOption += '>« Select ' + (select.attr('title') || 'Options') + ' »';
firstOption += '</option>';
select.prepend(firstOption);
});
}
Ответ 2
Просто добавьте:
<option disabled></option>
как первый элемент множественного выбора.
Ответ 3
Это частично было исправлено в 7.1, выпущенном на днях, однако по-прежнему остается много проблем. Количество элементов теперь правильно, но...
-
вы можете выбрать названия optgroup (вы не сможете это сделать, и если это так, он должен по крайней мере выбрать/отменить выбор всей группы.
-
если вы отключите опцию <option disabled="disabled">Computer 1</option>
, вы все равно можете выбрать ее, которая, конечно же, полностью неправильная.
Получите это вместе Apple.
Ответ 4
"Множественные выборки" в 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 Developer Support.)