2014-09-30 74 views
27

在iOS 8.0中,Apple在iPhone上引入了Safari中的一個新bug,我認爲使用多個<select>元素時非常嚴重。它通常用於例如選擇出生日期。要重現:iOS 8多重<select> iPhone上的嚴重錯誤?

  1. 兩個<select><option>每個

  2. 在iOS 8在iPhone上打開Safari瀏覽器中創建一個頁面(這個錯誤仍然存​​在於8.0.2)

  3. 點擊第一<select>

  4. 選擇第三個選項,即

  5. 注意,它不更新<select>你選擇什麼(它在iOS的7)

  6. 點擊第二<select>元素

  7. 注意以下幾點:

    • 第一<select>不更新
    • 第二個<select>顯示3(這是第一個的位置<select>
    • 下面的拾取器顯示1

您可以通過點擊在第一和第二<select>之間交替重複此,並注意其在相同的模式改變。這可能會隨機出現,除非你知道該模式)。如果你也有一年挑選者,那看起來更加令人困惑。

要嘗試在移動設備上,試試這個的jsfiddle: http://jsfiddle.net/m7baw590/6/embedded/result/

此外,onchange="alert(this.value)"報告不正確的值(即第二<select>元素上選擇了相同的您可以在此看到這裏:http://jsfiddle.net/m7baw590/7/embedded/result/

如果您單擊「完成」每個選擇之間,或使用箭頭切換

這些錯誤不會發生。

對此有什麼解決辦法?

+0

我把這個bug報告提交給蘋果公司,問題18701881,並得到了一個答覆,它是18484444的副本。根據這個數字,它似乎是不久前。如果任何人有解決方法,直到他們解決它,我想知道。 – Niclas 2014-11-04 07:38:34

+0

可能的重複:http://stackoverflow.com/questions/20039194/multiple-select-in-safari-ios-7 – 2015-06-17 04:26:47

+2

仍然沒有在iOS 9中修復。 – Niclas 2015-10-16 11:23:51

回答

7

我解決了這個問題是這樣的:

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

只需添加一個空<optgroup><select>

+0

令人印象深刻!這工作!這似乎是一個奇怪的黑客,但。這是一個在iPhone中工作的小提琴:) http://jsfiddle.net/m7baw590/12/embedded/result/ – Niclas 2016-02-01 12:06:33

+0

這可行,但現在界面選擇選項看起來有點不同,左對齊而不是居中。 – Hans 2016-02-16 13:12:12

+0

控件現在不加載 – Shiva 2017-01-26 10:32:08

10

我發現了iOS8中的選擇字段的另一個錯誤(僅在iPhone上,iPad看起來很好)。

http://jsbin.com/kuhogopafe/1

如何重現:

  • 選擇3個選項
  • 取消選擇再一個選項
  • 結果:不是2個 選擇的選項,只有最後一個未選擇的選項被報告爲 現在選
+0

我可以確認這個錯誤。我想這是由於蘋果的類似錯誤代碼。希望他們儘快修復。 – Niclas 2014-11-04 07:37:16

+1

我在iPhone 5上遇到與iOS 8.1.1相同的問題 – 2014-12-11 13:25:40

+3

在iPhone 5上的iOS 8.1.3上遇到同樣的問題。 – 2015-02-02 18:00:44

0

我發現iPhone Safari的唯一解決方案是關閉所有其他選擇框並重新啓用所有onblur。這將強制用戶推送完成。