---
title: HTMLSelectElement
slug: Web/API/HTMLSelectElement
translation_of: Web/API/HTMLSelectElement
---
{{ APIRef("HTML DOM") }}
L'interface HTMLSelectElement
représente un élément HTML {{HTMLElement("select")}}. Cet élément partage aussi toute les propriétés et méthodes des autres elements HTML via l'interface {{ domxref("HTMLElement") }}.
{{InheritanceDiagram(600, 120)}}
Propriétés
Cette interface hérite des propriétés de {{domxref("HTMLElement")}}, de {{domxref("Element")}} et de {{domxref("Node")}}.
- {{domxref("HTMLSelectElement.autofocus")}}
- Un {{jsxref("Boolean")}} reflétant l'attribut HTML {{htmlattrxref("autofocus", "select")}} qui indique si le contrôle doit bénéficier d'une priorité d'entrée au chargement de la page, à moins que l'utilisateur ne passe outre, par exemple en saisissant un autre contrôle. Cet attribut ne peut être spécifié que pour un seul élément associé à un formulaire dans un document.
- {{domxref("HTMLSelectElement.disabled")}}
- Un {{jsxref("Boolean")}} reflétant l'attribut {{htmlattrxref("disabled", "select")}} qui indique si le contrôle est désactivé. S'il est désactivé, il n'accepte pas les clics.
- {{domxref("HTMLSelectElement.form")}} {{ReadOnlyInline}}
- Un {{domxref("HTMLFormElement")}} référençant le formulaire auquel cet élément est associé. Si l'élément n'est pas associé à un élément {{HTMLElement("form")}}, il retourne
null
.
- {{domxref("HTMLSelectElement.labels")}} {{ReadOnlyInline}}
- Une {{domxref("NodeList")}} d'éléments {{HTMLElement("label")}} associés à l'élément.
- {{domxref("HTMLSelectElement.length")}}
- Un
unsigned long
, le nombre d'éléments {{HTMLElement("option")}} dans cet élément select
.
- {{domxref("HTMLSelectElement.multiple")}}
- Un {{jsxref("Boolean")}} reflétant l'attribut {{htmlattrxref("multiple", "select")}} qui indique si plusieurs éléments peuvent être sélectionnés.
- {{domxref("HTMLSelectElement.name")}}
- Une chaîne de caratères {{domxref("DOMString")}} reflétant l'attribut HTML {{htmlattrxref("name", "select")}} contenant le nom de ce contrôle utilisé par les serveurs et les fonctions de recherche DOM.
- {{domxref("HTMLSelectElement.options")}} {{ReadOnlyInline}}
- Une {{domxref("HTMLOptionsCollection")}} représentant l'ensemble des {{HTMLElement("option")}} ({{domxref("HTMLOptionElement")}}) contenus par cet élément.
- {{domxref("HTMLSelectElement.required")}}
- Un {{jsxref("Boolean")}} reflétant l'attribut {{htmlattrxref("required", "select")}} qui indique si l'utilisateur doit sélectionner une valeur avant de soumettre le formulaire.
- {{domxref("HTMLSelectElement.selectedIndex")}}
- Un
long
reflétant l'indice du premier élément {{HTMLElement("option")}} sélectionné. La valeur -1
indique qu'aucun élément n'est sélectionné.
- {{domxref("HTMLSelectElement.selectedOptions")}} {{ReadOnlyInline}}
- Une {{domxref("HTMLCollection")}} représentant l'ensemble des éléments {{HTMLElement("option")}} qui sont sélectionnés.
- {{domxref("HTMLSelectElement.size")}}
- Un
long
reflétant l'attribut {{htmlattrxref("size", "select")}} attribut HTML, qui contient le nombre d'éléments visibles dans le contrôle. La valeur par défaut est 1, sauf si multiple
est true
, auquel cas elle est de 4.
- {{domxref("HTMLSelectElement.type")}} {{ReadOnlyInline}}
- Une chaîne de caractères {{domxref("DOMString")}} représentant le type du contrôle de formulaire. Lorsque
multiple
est true
, il renvoie "select-multiple"
; sinon, il renvoie "select-one"
.
- {{domxref("HTMLSelectElement.validationMessage")}} {{ReadOnlyInline}}
- Une chaîne de caractères {{domxref("DOMString")}} représentant un message localisé qui décrit les contraintes de validation que le contrôle ne satisfait pas (le cas échéant). Cet attribut est la chaîne vide si le contrôle n'est pas un candidat à la validation des contraintes (
willValidate
est faux), ou s'il satisfait à ses contraintes.
- {{domxref("HTMLSelectElement.validity")}} {{ReadOnlyInline}}
- Un {{domxref("ValidityState")}} reflétant l'état de validité dans lequel se trouve ce contrôle.
- {{domxref("HTMLSelectElement.value")}}
- Une chapine de caractères {{domxref("DOMString")}} reflétant la valeur du contrôle de formulaire. Renvoie la propriété
value
du premier élément d'option sélectionné s'il y en a un, sinon la chaîne vide.
- {{domxref("HTMLSelectElement.willValidate")}} {{ReadOnlyInline}}
- Un {{jsxref("Boolean")}} qui indique si le bouton est un candidat à la validation des contraintes. Il vaut
false
si des conditions l'empêchent de bénéficier de la validation par contrainte.
Méthodes
Cette interface hérite des méthodes de {{domxref("HTMLElement")}}, et de {{domxref("Element")}} et {{domxref("Node")}}.
- {{domxref("HTMLSelectElement.add()")}}
- Ajoute un élément à la collection d'éléments
option
pour cet élément select
.
- {{domxref("HTMLSelectElement.blur()")}} {{obsolete_inline}}
- Supprime le focus d'entrée de cet élément. Cette méthode est maintenant mise en œuvre sur {{domxref("HTMLElement")}}..
- {{domxref("HTMLSelectElement.checkValidity()")}}
- Vérifie si l'élément a des contraintes et s'il les satisfait. Si l'élément ne respecte pas ses contraintes, le navigateur déclenche un événement {{domxref("HTMLInputElement/invalid_event", "invalid")}} annulable sur l'élément (et retourne
false
).
- {{domxref("HTMLSelectElement.focus()")}} {{obsolete_inline}}
- Donne le focus d'entrée à cet élément. Cette méthode est maintenant mise en œuvre sur {{domxref("HTMLElement")}}.
- {{domxref("HTMLSelectElement.item()")}}
- Obtient un élément de la collection d'options de l'élément {{HTMLElement("select")}}. Vous pouvez également accéder à un élément en spécifiant l'index entre des parenthèses ou des crochets de style tableau, sans appeler cette méthode explicitement.
- {{domxref("HTMLSelectElement.namedItem()")}}
- Obtient l'élément dans la collection d'options avec le nom spécifié. La chaîne de nom peut correspondre soit au
id
, soit à l'attribut name
d'un nœud d'option. Vous pouvez également accéder à un élément en spécifiant le nom entre des crochets de style tableau ou des parenthèses, sans appeler cette méthode explicitement.
- {{domxref("HTMLSelectElement.remove()")}}
- Supprime l'élément à l'indice spécifié de la collection d'options pour cet élément
select
.
- {{domxref("HTMLSelectElement.reportValidity()")}}
- Cette méthode signale à l'utilisateur les problèmes liés aux contraintes sur l'élément, le cas échéant. S'il y a des problèmes, elle déclenche un événement {{domxref("HTMLInputElement/invalid_event", "invalid")}} annulable sur l'élément, et retourne
false
; s'il n'y a pas de problèmes, elle retourne true
.
- {{domxref("HTMLSelectElement.setCustomValidity()")}}
- Définit le message de validation personnalisé pour l'élément de sélection au message spécifié. Utilisez la chaîne vide pour indiquer que l'élément n'a pas d'erreur de validité personnalisée.
Événements
Écoutez ces événements en utilisant {{domxref("EventTarget/addEventListener", "addEventListener()")}} ou en affectant un écouteur d'événements à la propriété oneventname
de cette interface :
- Événement {{domxref("HTMLElement/input_event", "input")}}
- S'active lorsque la
valeur
d'un élément {{HTMLElement("input")}}, {{HTMLElement("select")}} ou {{HTMLElement("textarea")}} a été modifiée.
Exemple
/* en supposant que nous ayons le HTML suivant
<select id='s'>
<option>Premier</option>
<option selected>Deuxième</option>
<option>Troisième</option>
</select>
*/
const select = document.getElementById('s');
// renvoie l'index de l'option sélectionnée
console.log(select.selectedIndex); // 1
// retourne la valeur de l'option sélectionnée
console.log(select.options[select.selectedIndex].value) // Deuxième
Une meilleure façon de suivre les modifications apportées à la sélection de l'utilisateur consiste à surveiller l'événement {{domxref("HTMLElement/change_event", "change")}} qui se produit sur le <select>
. Cela vous indiquera quand la valeur change, et vous pourrez alors mettre à jour ce dont vous avez besoin. Voir l'exemple fourni dans la documentation de l'événement change
pour plus de détails.
Spécifications
Spécification |
Statut |
Commentaire |
{{SpecName('HTML WHATWG', '#htmlselectelement', 'HTMLSelectElement')}} |
{{Spec2('HTML WHATWG')}} |
Ajoute la propriété autocomplete et la méthode reportValidity() . |
{{SpecName('HTML5 W3C', 'forms.html#htmlselectelement', 'HTMLSelectElement')}} |
{{Spec2('HTML5 W3C')}} |
Ajoute les propriétés autofocus , form , required , labels , selectedOptions , willValidate , validity et validationMessage . La propriété tabindex et les méthodes blur() et focus() ont été déplacées vers {{domxref("HTMLElement")}}. Les méthodes item() , namedItem() , checkValidity() et setCustomValidity() . |
{{SpecName('DOM2 HTML', 'html.html#ID-94282980', 'HTMLSelectElement')}} |
{{Spec2('DOM2 HTML')}} |
options retourne désormais un {{domxref("HTMLOptionsCollection")}}. length retourne désormais un unsigned long . |
{{SpecName('DOM1', 'level-one-html.html#ID-94282980', 'HTMLSelectElement')}} |
{{Spec2('DOM1')}} |
Définition initiale. |
Compatibilité des navigateurs
{{Compat("api.HTMLSelectElement")}}
Voir aussi
- L'élément HTML {{HTMLElement("select")}}, qui implémente cette interface.