67 votes

Sélectionnable <optgroup> en HTML <select> étiquette

Est-il possible de rendre le groupe d'options sélectionnable?

 <select>
   <optgroup value="0" label="Parent Tag">
      <option value="1">Child Tag</option>
      <option value="2">Child Tag</option>
   </optgroup>
</select>
 

61voto

grifos Points 1374

Je ne pense pas que vous puissiez le faire, mais vous pouvez facilement reproduire le style visuel avec css et n’avoir que des options dans votre sélection, donc tout est sélectionnable.

 <html><head>
<style type="text/css">
.optionGroup
{
    font-weight:bold;
    font-style:italic;
}

.optionChild
{
    padding-left:15px;
}
 </style>
</head>
<body>
<select multiple="multiple">
      <option value="0" class="optionGroup">Parent Tag</option>
      <option value="1" class="optionChild">Child Tag</option>
      <option value="2" class="optionChild">Child Tag</option>
</select>

</body>
</html>
 

L'attribut multiple vous permet de sélectionner plus d'une ligne (avec ctrl clic). Vous pouvez l'enlever si ce n'est pas ce que vous voulez. C'était pour vous montrer que tout est devenu sélectionnable et que son apparence est identique à celle de l'élément optiongroup.

1voto

Max Gilbert Points 33

La réponse de @ grifos n'est pas prise en charge dans les navigateurs WebKit et ne fonctionnait pas lorsqu'elle a été testée dans IE 11.

Une suggestion pourrait être d'utiliser une liste non ordonnée / ordonnée et de la styler avec CSS, puis d'ajouter la fonctionnalité avec JavaScript / jQuery.

J'ai vu une belle implémentation dans le passé, ça peut être vraiment glissant!

-5voto

nathanjosiah Points 1957

La question n'est pas très claire, mais est-ce ce que vous recherchez?

 <select multiple="multiple">
   <optgroup label="Parent Tag">
      <option value="1">Child Tag</option>
      <option value="2">Child Tag</option>
   </optgroup>
</select>
 

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