在iOS 8.0中,Apple在iPhone上的Safari中引入了一个新的错误,我认为在使用多个<select>元素时非常严重.例如,它通常用于选择出生日期.重现:
有两个创建一个页面<select>有多个<option>每
在iPhone上的iOS 8上的Safari中打开(该错误仍然存在于8.0.2中)
点按第一个 <select>
选择第三个选项,即三月
请注意,它不会更新<select>您选择的内容(在iOS 7中更新)
点按第二个<select>元素
请注意以下事项:
<select>没有更新<select>显示3(这是第一个的位置<select>)您可以通过在点击第一个和第二个之间交替重复此操作<select>,并注意它以相同的模式更改.除非您知道模式,否则这可能是随机出现的).如果你还有一个年度挑选者,那看起来会更加令人困惑.
要试用你的移动设备,试试这个jsfiddle:http: //jsfiddle.net/m7baw590/6/embedded/result/
此外,onchange="alert(this.value)"报告的值不正确(与第二个<select>元素相同.您可以在此处看到:http://jsfiddle.net/m7baw590/7/embedded/result/
如果在每个选择之间单击"完成",或使用箭头切换,则不会发生这些错误.
这有什么解决方法吗?
如果在当前(iOS 9.2)移动游戏中发现一个非常烦人的错误(自iOS 7以来首次出现!)
如果您在移动野生动物园中使用多选字段 - 如下所示:
<select multiple>
<option value="test1">Test 1</option>
<option value="test2">Test 2</option>
<option value="test3">Test 3</option>
</select>
Run Code Online (Sandbox Code Playgroud)
您将遇到自动选择问题!
打开选择后,iOS会自动选择第一个选项(没有任何用户交互) - 但它不会通过蓝色选择"检查"显示给您.
因此,如果您现在选择第二个选项,则选择将告诉您选择了两个选项(但仅突出显示一个选项)...
如果您现在关闭并再次打开选择,iOS将自动取消选择第一个值 - 如果重复,将再次选择它而无需任何用户交互.
这是一个非常烦人的系统错误,它破坏了用户体验!