4 回答
看起来没有标准的方法来做到这一点,基于堆栈溢出的其他主题的内容:
但是第二个主题的作者写了一个插件来模拟这种行为:https ://github.com/redhotsly/safarimobile-multiline-select
我对此的简单修复,使用 Jquery:
$(document).ready(function(){
if(navigator.userAgent.match(/(iPhone|iPod|iPad)/i)) {
$('#my_select_box').prepend('<option value="" selected="selected" disabled="disabled">..Please select something</option>');
}
});
像这样工作:
等待文件加载
如果用户使用 iPhone、iPod 或 iPad 访问该站点,则执行脚本
在您的选择列表顶部添加一个选定和禁用的选项,并带有文本“..请选择一些东西”。
在所有其他浏览器中什么都不做,效果很好:D
If you need to display one of the options, use the following: HTML selected Attribute
Your webpage at firefox:
看来这里的人可能没有完全理解这个问题。问题是 iOS 浏览器不会为不可选择的第一个字段呈现标签,这通常是“请选择...”类型指示符。如果未选中,iOS 将其呈现为空白。这是不可取的,因为用户可以做出选择,但该字段显示为空白。
您也不能以编程方式将其设置为选择以显示“请选择”,因为如果该字段是必需的,则表单验证将不再起作用,因为浏览器认为第一个字段已被选中,即使它被标记为不可选择。
“Bug”是 iOS 浏览器在设置为不可选择时不会显示第一个字段的标签。