<select> avec la taille de l'attribut: iPhone rend vide

Lors du rendu d'un sélectionnez le menu déroulant ci-dessous, l'iPhone rend il vide. Comment puis-je résoudre ce problème?

<select size="3">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>

L'exemple ci-dessus de http://www.w3schools.com/tags/att_select_size.asp. Leur échantillon est http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_select_size

Dans Firefox (et tous les autres navigateurs), il les rend comme:

<select> avec la taille de l'attribut: iPhone rend vide

Cependant, sur un iPhone, il est rendu vide. C'est très mauvais pour la convivialité que le visiteur ne sait pas ce qui est dans la boîte (dans notre application, c'est pour la sélection de l'adresse de plusieurs possibilités).

<select> avec la taille de l'attribut: iPhone rend vide

J'ai créé un JSFiddle: http://jsfiddle.net/bqMEv/3/ L'iPhone, le rendu est comme suit; à noter qu'il n'y a rien montré lors de deux:

  • la taille est supérieure à 1
  • et la hauteur est spécifiée dans le CSS
  • et aucune option n'est sélectionnée

<select> avec la taille de l'attribut: iPhone rend vide

Retrait de la CSS hauteur indique que l'iPhone ignore l'attribut de taille.

<select> avec la taille de l'attribut: iPhone rend vide

Au lieu d'utiliser size="3", essayez d'utiliser une règle CSS select { width: 10px; }
Vous n'avez pas une option comme "<option selected="selected">", c'est fait pour le but ?
À l'aide de l'exemple de code ci-dessus, il n'y a pas de PRÉ-sélectionné le type de voiture. Pour ce faire, il faut ajouter " - Sélectionnez le type de véhicule --" ou similaire au HTML. Dans mon application, vous êtes en sélectionnant l'adresse de votre domicile à partir d'une liste d'adresses; je ne sais pas lequel choisir.
Le cas d'utilisation est, vous êtes présenté avec une liste d'adresses correspondant à votre code postal. Si c'est un select size=1, vous devez cliquer dessus pour afficher toutes les données. Si c'est un select size=10, alors vous pouvez voir les 10 premières adresses. C'est beaucoup moins de travail de la part du visiteur ET s'adapte avec le "bureau" de conception. La raison que c'est un problème, c'est que cela fonctionne parfaitement bien avec tous les autres navigateurs à l'EXCEPTION de l'iPhone/iPad, ce qui représente 20% des visiteurs.
Ne pas utiliser de w3schools pour quoi que ce soit. Elle est mauvaise. Très mauvaise.

OriginalL'auteur GlennG | 2013-02-18