Je me demande s'il est possible en Javascript d'obtenir les options actuellement sélectionnées dans un champ <select multiple>
En utilisant l'API Selctors plutôt qu'une itération "stupide" sur toutes les options.
select.querySelectorAll('option[selected="selected"]')
ne renvoie que les options qui ont été marquées comme présélectionnées dans le code HTML d'origine, ce qui n'est pas ce que je recherche. Des idées?
document.querySelectorAll('option:checked')
Fonctionne même sur IE9;)
J'ai également été confronté à votre problème, j'ai l'impression que cela a à voir avec JavaScript qui ne reconnaît pas les changements dans le DOM.
Voici une solution:
document.getElementById('test').onclick = function () {
var select = document.getElementById('select');
var options = getSelectedOptions(select);
console.log(options);
};
function getSelectedOptions(select) {
var result = [];
var options = select.getElementsByTagName('option');
for (var i = 0; i < options.length; i++) {
if (options[i].selected)
result.Push(options[i]);
};
return result;
}