当我在选择下拉列表中使用多个选项时 - Safari 会遇到奇怪的问题。当我选择一个选项并说完成时,下拉列表会返回显示“0 项”。但是如果我选择多个选项(不止一个),除了第一个选项之外的所有选项都会被选中。在此之后,如果我取消选择所有选项,最后一个将保持选中状态。
检查 this for a demo在 iOS 7.0.3 上使用 Safari。
<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 的问题——它(当与多个一起使用时)目前似乎完全崩溃了 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 = '<option value="" disabled="disabled"';
firstOption += (select.val() || []).length > 0 ? '' : ' selected="selected"';
firstOption += '>« Select ' + (select.attr('title') || 'Options') + ' »';
firstOption += '</option>';
select.prepend(firstOption);
});
}
关于html - Safari iOS 7 中的多项选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20039194/