648 votes

option de sélection par défaut comme vide

J'ai une exigence très étrange, dans laquelle je dois faire en sorte qu'aucune option ne soit sélectionnée par défaut dans un menu déroulant en HTML. Cependant,

Je ne peux pas l'utiliser,

<select>
  <option></option>
  <option>Option 1</option>
  <option>Option 2</option>
  <option>Option 3</option>
</select>

Car, pour cela, je devrai faire une validation pour gérer la première option. Quelqu'un peut-il m'aider à atteindre cet objectif sans inclure la première option dans la balise select ?

3 votes

Pour autant que je sache, c'est le seul moyen d'obtenir une ligne vide. Comment ça, vous devez faire une validation ? Il suffit de définir un contrôle pour dire que si value="", il faut renvoyer false.

2 votes

Ce serait une bonne occasion d'utiliser des boutons radio au lieu d'une liste déroulante.

22 votes

Ce n'est pas une exigence bizarre du tout, à mon avis. Je suis dans le même bateau. J'ai également besoin d'une option par défaut "sans option". J'ai plusieurs listes déroulantes qui ne sont pas nécessaires pour soumettre un formulaire. En les désactivant de cette manière, j'évite que l'utilisateur ait à faire une sélection lorsqu'elle n'est pas pertinente. Bonne question ! +1

1voto

Andrew Points 959

Pour ceux qui utilisent <select multiple> (combobox ; pas de liste déroulante), cela a fonctionné pour moi :

<select size=1 disabled multiple>
  <option hidden selected></option>
  <option>My Option</option>
</select>

0voto

indie blue Points 1309

Utilisez jQuery :

//With jQuery 1.7.2
$("#myDropdown").attr("selectedIndex", -1);

J'ai essayé et testé jQuery v1.7.2 (dernière version en date du 18 avril 2012), mais "prop" ne fonctionne pas pour cette version.

0voto

Si vous n'avez pas besoin d'une option vide au départ, essayez cette première ligne :

    <option style="display:none"></option>

0voto

Jim Points 1

Utilisez simplement " option cachée sélectionnée " comme option par défaut.

0voto

Timo Hartmann Points 21

Je pense qu'une bonne idée serait d'utiliser les boutons radio, de définir le numéro 1 comme valeur par défaut et de le masquer. name="init" et un value="null" ou autre, à vous de voir !

de cette façon la liste des boutons radio a une valeur définitive, mais la valeur par défaut de null peut être utilisée logiquement !

Je pense qu'il n'est pas nécessaire de développer davantage, puisque l'idée peut facilement être mise en œuvre avec display: none; ou visibility: hidden;

... alors que je pense que le premier display: none; est la meilleure option :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X