11519 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
j'ai un élément select dont je doit faire varier la valeur par défaut, j'utilise dont l'attribut selected que je modifie avec javascript:
document.getElementById('p-30-selector').setAttribute('selected','selected');

Dans le DOM tel que me le montre mon inspecteur web, tout va bien, j'ai l'élément option qui a effectivement l'attribut selected à la valeur "selected:
<option id="p-30-selector" value="30" selected="selected">toto</option>

Mais, tel que je le vois, l'élément select n'a pas changé de valeur par défaut ! J'ai pourtant vérifié; il n'y a pas d'autre élément option pour lequel l'attribut selected est défini.

Je ne comprend pas du tout pourquoi Smiley ohwell

Merci de votre aide Smiley smile
Modifié par juliendargelos (07 May 2014 - 20:16)
Ta réflexion est tout à fait correcte sur le principe, mais je pense que l'implémentation du DOM dans les navigateurs n'est pas en mesure de prendre en compte une modification de la sélection de cette manière.

Les éléments <option> ont toujours eu des attributions un peu étranges et plus ou moins illogiques d'un navigateur et d'un OS à l'autre à travers les âges; il vaudrait mieux éviter de trop les manipuler directement dans le DOM sans passer par les API spécifiques de plus haut niveau.

Essaie plutôt de changer les propriétés value ou selectedIndex du select sans passer par le DOM, tu auras assurément plus de succès.
Modifié par QuentinC (07 May 2014 - 21:50)