1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
---
title: Option()
slug: Web/API/HTMLOptionElement/Option
tags:
- API
- Constructeur
- HTML DOM
- HTMLOptionElement
translation_of: Web/API/HTMLOptionElement/Option
---
{{APIRef("HTML DOM")}}
Le constructeur **`Option()`** permet de créer un nouvel objet {{domxref("HTMLOptionElement")}}.
## Syntaxe
var optionElementReference = new Option(text, value, defaultSelected, selected);
### Parameters
- `text` {{optional_inline}}
- : Une chaîne de caractères {{domxref("DOMString")}} représentant le contenu de l'élément, c'est-à-dire le texte affiché. Si cet argument n'est pas spécifié, c'est la chaîne vide qui sera utilisée.
- `value` {{optional_inline}}
- : Une chaîne de caractères {{domxref("DOMString")}} représentant la valeur de {{domxref("HTMLOptionElement")}}, c’est-à-dire l’attribut HTML `value` de l'élément {{htmlelement("option")}}. Si cet argument n'est pas fourni, ce sera la valeur de `text` qui sera reprise comme valeur (par exemple pour l'élément {{htmlelement("select")}} associé lorsque le formulaire est envoyé au serveur).
- `defaultSelected` {{optional_inline}}
- : Un {{domxref("Boolean")}} qui définit la valeur de l'attribut {{htmlattrxref("selected", "option")}}, c'est-à-dire que cette {{htmlelement("option")}} sera la valeur par défaut sélectionné dans l'élément {{htmlelement("select")}} lors du premier chargement de la page. S'il n'est pas spécifié, la valeur `false` sera utilisée par défaut.
- `selected` {{optional_inline}}
- : Un {{domxref("Boolean")}} qui définit l'état sélectionné de l'option, la valeur par défaut est `false` (non sélectionné). Si cet argument est absent et même si l'argument `defaultSelected` vaut `true`, l'option ne sera pas pas sélectionnée.
## Exemples
### Ajouter de nouvelles options
```js
/* Imaginons qu'on ait le code HTML suivant dans le document
<select id='s'>
</select>
*/
var s = document.getElementById('s');
var options = [Quatre, Cinq, Six];
options.forEach(function(element,key) {
s[key] = new Option(element,key);
});
```
### Ajouter des options avec différents paramètres
```js
/* Imaginons qu'ont ait le code HTML suivant dans le document
<select id="s">
<option>Premier</option>
<option>Deuxième</option>
<option>Troisième</option>
</select>
*/
var s = document.getElementById('s');
var options = [ 'zéro', 'un', 'deux' ];
options.forEach(function(element, key) {
if (element == 'zéro') {
s[s.options.length] = new Option(element, s.options.length, false, false);
}
if (element == 'un') {
s[s.options.length] = new Option(element, s.options.length, true, false); // Ajouter l'attribut "selected"
}
if (element == 'deux') {
s[s.options.length] = new Option(element, s.options.length, false, true); // Sélectionnera l'option
}
});
/* Résultat dans le DOM / HTML modifié :
<select id="s">
<option value="0">zéro</option>
<option value="1" selected="">un</option>
<option value="2">deux</option> // L'utilisateur verra cette option sélectionnée
</select>
*/
```
## Spécifications
| Spécification | État | Commentaires |
| ----------------------------------------------------------------------------------------------------------------------------------------- | -------------- | ------------ |
| [HTML5 La définition de Option dans cette spécification.](http://www.w3.org/TR/2012/WD-html5-20121025/the-option-element.html#dom-option) | Recommendation | |
|