[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/API/HTMLSelectElement/selectedOptions [Back]  [Original]

HTMLSelectElement : proprit selectedOptions - Les API Web | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

HTMLSelectElement : proprit selectedOptions

Baseline Large disponibilit

Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La proprit en lecture seule HTMLSelectElement selectedOptions contient une liste des lments HTML <option> contenus dans l'lment HTML <select> qui sont actuellement slectionns. La liste des options slectionnes est un objet HTMLCollection avec une entre pour chaque option actuellement slectionne.

Une option est considre comme slectionne si elle possde l'attribut HTMLOptionElement.selected.

Dans cet article

Valeur

Un objet HTMLCollection qui liste chaque HTMLOptionElement actuellement slectionn, qu'il soit enfant de HTMLSelectElement ou d'un HTMLOptGroupElement l'intrieur de l'lment <select>.

En d'autres termes, toute option contenue dans l'lment <select> peut faire partie des rsultats, mais les groupes d'options ne sont pas inclus dans la liste.

Si aucune option n'est actuellement slectionne, la collection est vide et retourne une length de 0.

Exemples

Dans cet exemple, un lment <select> avec plusieurs options permet l'utilisateurice de commander diffrents aliments.

HTML

Le code HTML qui cre la bote de slection et les lments <option> reprsentant chaque choix alimentaire ressemble ceci :

html
<label for="foods">Que voulez-vous manger&nbsp;?</label><br />
<select id="foods" name="foods" size="7" multiple>
  <option value="1">Burrito</option>
  <option value="2">Cheeseburger</option>
  <option value="3">Double bacon burger suprme</option>
  <option value="4">Pizza au pepperoni</option>
  <option value="5">Taco</option>
</select>
<br />
<button name="order" id="order">Commander</button>
<p id="output"></p>

L'lment <select> permet de slectionner plusieurs lments et a une hauteur de 7 lignes. Notez aussi le <button>, dont le rle est de dclencher la rcupration de la collection HTMLCollection des lments slectionns via la proprit selected.

JavaScript

Le code JavaScript qui tablit le gestionnaire d'vnement pour le bouton, ainsi que le gestionnaire lui-mme, ressemble ceci :

js
let orderButton = document.getElementById("order");
let itemList = document.getElementById("foods");
let outputBox = document.getElementById("output");

orderButton.addEventListener("click", () => {
  let collection = itemList.selectedOptions;
  let output = "";

  for (let i = 0; i < collection.length; i++) {
    if (output === "") {
      output = "Votre commande pour les lments suivants a t passe : ";
    }
    output += collection[i].label;

    if (i === collection.length - 2 && collection.length < 3) {
      output += " et ";
    } else if (i < collection.length - 2) {
      output += ", ";
    } else if (i === collection.length - 2) {
      output += ", et ";
    }
  }

  if (output === "") {
    output = "Vous n'avez rien command !";
  }

  outputBox.textContent = output;
});

Ce script ajoute un couteur d'vnement click sur le bouton  Commander . Lors d'un clic, le gestionnaire rcupre la liste des options slectionnes via selectedOptions, puis parcourt les options de la liste. Une chane de caractres est construite pour lister les lments commands, avec une logique pour formater la liste selon la grammaire franaise.

Rsultat

Le rsultat ressemble ceci en action :

Spcifications

Spcification
HTML
# dom-select-selectedoptions-dev

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page