Maison >interface Web >tutoriel CSS >Comment simuler une case à cocher dans un menu d'options de sélection à l'aide de HTML, CSS et JavaScript ?

Comment simuler une case à cocher dans un menu d'options de sélection à l'aide de HTML, CSS et JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-29 04:54:14700parcourir

How to Simulate a Checkbox within a Select Option Menu Using HTML, CSS, and JavaScript?

Ajout d'une case à cocher à un menu d'options de sélection

En utilisant les éléments HTML standards disponibles, il n'est pas possible d'incorporer une case à cocher dans un menu de sélection menu d'options. Cependant, à l'aide de HTML, CSS et JavaScript, vous pouvez créer une solution qui imite des fonctionnalités similaires.

Mise en œuvre d'une option de sélection de type case à cocher

Pour y parvenir la fonctionnalité souhaitée, suivez ces étapes :

  1. Définissez la structure HTML, y compris une option de sélection et un ensemble d'éléments masqués cases à cocher.
  2. Créez les styles CSS pour positionner et masquer les cases à cocher.
  3. Utilisez JavaScript pour activer/désactiver la visibilité des cases à cocher lorsque vous cliquez sur l'option de sélection.

L'extrait de code fourni montre comment construire un tel composant :

<form>
  <div class="multiselect">
    <div class="selectBox" onclick="showCheckboxes()">
      <select>
        <option>Select an option</option>
      </select>
      <div class="overSelect"></div>
    </div>
    <div>
.multiselect {
  width: 200px;
}

.selectBox {
  position: relative;
}

.selectBox select {
  width: 100%;
  font-weight: bold;
}

.overSelect {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

#checkboxes {
  display: none;
  border: 1px #dadada solid;
}

#checkboxes label {
  display: block;
}

#checkboxes label:hover {
  background-color: #1e90ff;
}
var expanded = false;

function showCheckboxes() {
  var checkboxes = document.getElementById("checkboxes");
  if (!expanded) {
    checkboxes.style.display = "block";
    expanded = true;
  } else {
    checkboxes.style.display = "none";
    expanded = false;
  }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn