iOS 8在iPhone上存在严重的多个<select> bug吗?

31
在iOS 8.0中,Apple在iPhone的Safari浏览器中引入了一个新的bug,我认为在使用多个元素。 在iPhone上的iOS 8中使用Safari打开(此bug仍存在于8.0.2中)。 点击第一个元素。 注意以下内容: - 第一个元素显示3(这是第一个

我已经将这个bug报告提交给苹果,编号为18701881,并收到回复说这是18484444的重复。从编号来看,似乎已经有一段时间了。如果有人在他们修复之前有解决方法,请告诉我。 - Niclas
可能是重复问题:https://dev59.com/lGIj5IYBdhLWcg3wpWlx - Andrew
2
iOS 9仍未修复。 - Niclas
我遇到了同样的问题。问题在于我的选择字段被包裹在<label>标签中:https://stackoverflow.com/a/55408079 - leishman
3个回答

10

我是这样解决这个问题的:

<select>
    <option></option>
    <option></option>
    <option></option>
    (...)
    <optgroup disabled></optgroup>
</select>

刚刚将一个空的<optgroup>添加到了<select>中。


令人印象深刻!这个可行!不过看起来有点奇怪。这是一个在 iPhone 上运行的小技巧 :) http://jsfiddle.net/m7baw590/12/embedded/result/ - Niclas
这个可以工作,但是现在选择选项的界面看起来有点不同,左对齐而不是居中。 - Björn
控件现在无法加载。 - Shiva
有人知道iOS的Bug报告吗?因为我在iOS 10.2和10.3上仍然遇到奇怪的行为。 - Kevin Bieri
仍然存在于10.4.4版本中,这个解决方法确实有效。 如果(navigator.userAgent.match(/iPhone/i)) { $('select').each(function () { $(this).append("<optgroup disabled></optgroup>"); }); } - cocorossello

10

我发现了一个与iOS8中选择字段相关的问题(仅适用于iPhone,例如iPad看起来没问题)。

http://jsbin.com/kuhogopafe/1

复现步骤:

  • 选择3个选项
  • 取消选择一个选项
  • 结果:现在只有最后一个取消选择的选项被报告为被选中,而不是2个选定的选项

我可以确认这个 bug。我猜是由于 Apple 的类似有错误的代码所致。希望他们能尽快修复它。 - Niclas
1
我在iPhone 5上使用iOS 8.1.1时遇到了相同的错误。 - Hans Kristian
3
在iPhone 5的iOS 8.1.3上遇到了同样的问题。 - Joe Chrysler
2
这在 iPhone 6s 上的 iOS 9.2 上仍然有效。 - Tute
1
刚刚在 iPhone 6+ 上的 iOS 9.2 发现了一个关于多选框的错误。由于此问题在 iOS 7、8 和现在的 iOS 9 上都出现过,可以看出苹果没有进行回归测试。"It Just Works" 真是胡扯。 - Ian Kemp

0
我在 iPhone Safari 上找到的唯一解决方案是,在焦点上禁用所有其他选择框,并在失焦时重新启用所有选择框。这将强制用户按下“完成”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接