Pour ajouter des options à plusieurs éléments de sélection, vous devrez obtenir des références à tous les éléments de sélection auxquels vous souhaitez ajouter des options. Vous pouvez le faire en leur donnant une classe commune et en utilisant document.getElementsByClassName
. Voici comment vous pouvez modifier le code :
window.onload = function(){
console.log('window.onload function')
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var presta = JSON.parse(xmlhttp.responseText);
var selects = document.getElementsByClassName('ma-classe-select'); // obtenir tous les éléments de sélection avec la classe 'ma-classe-select'
for (var i = 0; i < presta.length; i++) {
var option = document.createElement('option');
option.value = presta[i].codePrestation;
option.text = presta[i].prestation;
// ajouter l'option à tous les éléments de sélection
for (var j = 0; j < selects.length; j++) {
selects[j].appendChild(option.cloneNode(true)); // cloner l'option pour chaque sélection
}
}
}
};
xmlhttp.open('GET', '/api/products', true);
xmlhttp.send();
}
Dans ce code, document.getElementsByClassName('ma-classe-select')
obtient tous les éléments de sélection avec la classe 'ma-classe-select'. Ensuite, pour chaque produit, il crée une option et ajoute un clone de cette option à chaque élément de sélection. La méthode cloneNode(true)
est utilisée pour créer une copie profonde de l'élément option, ce qui permet de l'ajouter à plusieurs éléments de sélection.