Comment implémenter subj?
quand j'écris:
<form>
<select>
<option value="0">aaaa</option>
<option value="1">bbbb</option>
</select>
</form>
alors l'élément sélectionné par défaut est "aaaa"
quand j'écris:
<form>
<select>
<option value=""></option>
<option value="0">aaaa</option>
<option value="1">bbbb</option>
</select>
</form>
alors l'élément sélectionné par défaut est vide, mais cet élément vide se présente dans la liste déroulante.
Comment puis-je implémenter la balise SELECT avec une valeur vide par défaut masquée dans la liste déroulante?
html
select
drop-down-menu
Nick Stavroguine
la source
la source
Réponses:
Utilisez simplement des attributs désactivés et / ou masqués:
selected
fait de cette option celle par défaut.disabled
rend cette option non cliquable.style='display: none'
rend cette option non affichée dans les anciens navigateurs. Voir: Puis-je utiliser la documentation pour l'attribut masqué.hidden
fait que cette option ne soit pas affichée dans la liste déroulante.la source
hidden
attribut est effectivementdisplay: none
, donc pour prendre en charge les navigateurs plus anciens:<option selected disabled hidden style='display: none' value=''></option>
Vous pouvez par le réglage
selectedIndex
à l'-1
aide.prop
: http://jsfiddle.net/R9auG/ .Pour les anciennes versions de jQuery, utilisez à la
.attr
place de.prop
: http://jsfiddle.net/R9auG/71/ .la source
.attr
échouera dans les nouvelles versions de jQuery. Essayer d'être intelligent m'a fait échouer.Utiliser simplement
fonctionnera n'importe où sans script et vous permettra d'instruire l'utilisateur en même temps.
la source
la source
Voici un moyen simple de le faire en utilisant du JavaScript brut. C'est l'équivalent vanille du script jQuery posté par pimvdb. Vous pouvez le tester ici .
.
Assurez-vous que le "id_here" correspond au formulaire et au JavaScript.
la source
Vous ne pouvez pas. Ils ne fonctionnent tout simplement pas de cette façon. Un menu déroulant doit avoir l'une de ses options sélectionnée à tout moment.
Vous pouvez (bien que je ne le recommande pas) surveiller un événement de modification , puis utiliser JS pour supprimer la première option si elle est vide.
la source
Pour purement HTML, @isherwood a une excellente solution. Pour jQuery, donnez à votre liste déroulante un identifiant, puis sélectionnez-le avec jQuery:
Ensuite, utilisez ce jQuery pour effacer la liste déroulante lors du chargement de la page:
Ou mettez-le dans une fonction par lui-même:
accomplit ce que vous recherchez et il est facile de mettre cela dans des fonctions qui peuvent être appelées sur votre page si vous avez besoin de vider la liste déroulante sans recharger la page.
la source
Vous pouvez essayer cet extrait
Cela a fonctionné pour moi.
la source