2011-08-09 10 views
5

En Mobile Safari en el iPad, parece que si no hay una opción seleccionada en un elemento <select>, entonces el usuario no puede seleccionar la opción 0ª antes de seleccionar otra primero (pruébelo en http://jsfiddle.net/PJTKq/ en un iPad).Solución para el error con la 0ª opción <select> en Mobile Safari en iPad?

Para ser más específicos:

  1. Crear un elemento <select> con dos o más opciones.
  2. Límpielo estableciendo programáticamente selectedIndex = -1 o eliminando el atributo "selected" de todos los elementos <option>.
  3. Toque el elemento de selección y elija la opción 0a. El índice seleccionado no cambiará.
  4. Toque el elemento de selección y elija otra opción, luego tóquelo de nuevo y elija la opción 0ª. El índice seleccionado debería cambiar dos veces.

¿Alguien sabe de una solución (además de la inserción de una opción maniquí vacío) que permitiría mover directamente desde selectedIndex -1 a 0 selectedIndex?

+0

Trabajé en mi 3GS 4.3.3 – Detect

+0

@Detect, tienes razón. Parece ser un error solo para iPad. – kpozin

+0

Esto parece haber sido arreglado en iOS 5 (al menos en el iPad 3). – kpozin

Respuesta

0

Hasta que se solucione el error, quizás pueda detectar el agente de usuario y hacer que selectedIndex=0 sea el valor predeterminado para Mobile Safari.

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

if(iPad === true) { 
    $(select).prop("selectedIndex", 0); 
} 
</script> 
Cuestiones relacionadas