2011-08-09 9 views
5

W mobilnym Safari na iPadzie wydaje się, że jeśli nie ma opcji wybranej na elemencie <select>, użytkownik nie może wybrać opcji 0 przed wybraniem innej (spróbuj na http://jsfiddle.net/PJTKq/ na iPadzie).Obejście problemu z opcją 0th <select> w Mobile Safari na iPadzie?

Aby być bardziej konkretne:

  1. Tworzenie elementu <select> z dwóch lub większej liczby opcji.
  2. Wyczyść to programowo ustawiając selectedIndex = -1 lub usuwając atrybut "selected" ze wszystkich elementów <option>.
  3. Dotknij wybranego elementu i wybierz opcję 0. Wybrany indeks się nie zmieni.
  4. Dotknij wybranego elementu i wybierz inną opcję, a następnie wybierz go ponownie i wybierz opcję 0. Wybrany indeks powinien się zmienić dwukrotnie.

Czy ktoś wie z obejścia (oprócz wstawienie pustego atrapę opcja), który pozwoliłby ruchu bezpośrednio z selectedIndex -1 do selectedIndex 0?

+0

Pracowałem na moim 3GS 4.3.3 – Detect

+0

@Detect, masz rację. Wygląda na to, że jest to błąd związany tylko z iPadem. – kpozin

+0

Wygląda na to, że został naprawiony w iOS 5 (przynajmniej na iPadzie 3). – kpozin

Odpowiedz

0

Dopóki błąd nie zostanie naprawiony, być może można wykryć klienta użytkownika i uczynić selectedIndex=0 domyślnym ustawieniem Mobile Safari.

1
<script>  
// with jQuery 
var iPad = !!navigator.userAgent.match(/iPad/i), 
    select = "select"; 

if(iPad === true) { 
    $(select).prop("selectedIndex", 0); 
} 
</script> 
Powiązane problemy