Bonjour a tous,

J'ai un problème pour lequel je tourne en rond depuis quelques jours,


J'ai actuellement un select multiple :
Nom : select-mulitple.jpg
Affichages : 626
Taille : 22,2 Ko

Ce sélect me permet évidemment de sélectionner plusieurs options, pas en les surlignant mais en les ajoutant dans un input au dessus (oui je sais c'est bizarre :-D), mais c'est un Dropdown Multiple Select

Ensuite j'attribue une action onchange :

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<select id="chgut[]" name="chgut[]" multiple="multiple" class="form-control search-select" onchange="recupSelection(this,1,0,1)">
<option value="A">Alabama</option>
<option value="AR">Arizona</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
</select>

Ma fonction recupSelection
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
function recupSelection(idA,client,trian,idB) {
var idC = idA.options[idA.selectedIndex].value;
var xhr_object = new XMLHttpRequest();
xhr_object.open("POST", "sauve_gestion.php", true);
xhr_object.onreadystatechange = function() {if(xhr_object.readyState == 4) {}}
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var data = "client="+client+"&trian="+trian+"&idGEST="+idC;
xhr_object.send(data);
}
J'ai tenté de comprendre comment fonctionnait le meme type de traitement mais avec des checkbox a la place d'un select :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
function recupSelection(id_class,client,trian,idB) {
  var elts = document.querySelectorAll(id_class);
  alert ("elts "+elts)
  var i = 0;
  var array_val = []; // array
  elts.forEach(function(id) {
    if (id.checked) {
      array_val[i] = id.value; // on récupère les value des cases cochées
      i++;
    }
  });
var liste_val = encodeURIComponent((array_val.length > 0) ? JSON.stringify(array_val) : "");
// liste au format JSON
var xhr_object = new XMLHttpRequest();
xhr_object.open("GET", "sauve_gestion.php?client="+client+"&trian="+trian+"&liste="+liste_val, true);
xhr_object.onreadystatechange = function() {if(xhr_object.readyState == 4) {console.log ("relance_sms.php?sms="+sms+"&liste="+liste_val);}} 
var data = "client="+client+"&trian="+trian+"&liste="+liste_val;
xhr_object.send(null);
}
Évidemment cela de fonctionne pas a partir d'un SELECT :-D

Le but étant de sélectionner plusieurs noms dans le select et d'envoyer ensuite la liste des values correspondante via javascript..
Certainement que comme avec les checkbox je devrai récupérer en json le traitement php final.

J'ai tenté également de m'inspirer de cette solution : https://www.developpez.net/forums/d1...e-additionner/

Ensuite j'ai tenté de mettre : <select id="chgut[]" name="chgut[]" multiple="multiple" class="form-control search-select" onchange="alert(this.value);"> pour voir le résultat et il me renvoi toujours la valeur du premier choix, jamais les autres pays que je rajoute.

Mais mon problème est qu'avec un affichage des sélections en tête du select, et non parmi les options, cela ne marche pas, voir image de la tête du select :
Nom : select-mulitple.jpg
Affichages : 626
Taille : 22,2 Ko

Merci pour votre aide.

Olivier