Bonjour à tous,
Je suis vaincu par des each
Le but est de parcourir un ensemble de select (dont le nombre est inconnu), de récupérer les "options" selectionnées, mettre à jour les options des selects avec la mise à jour (ajout, modification, suppression), et d'y reselectionner les options qui l'étaient avant, si elles existent toujours.
Pour ça, j'aurai voulu faire 2 .each() imbriqués.
Le premier se passe bien, bien que je comprend pas bien ce que contient "element", puisqu'il faut se servir de "this". (mais il contient un objet, c'est sûr)
Le deuxième each bloque, il ne fait pas d'erreur, il bloque l'exécution...
Voilà le code. Ce qui est en commentaire sont d'autre tentative... je n'ai plus d'idée !!
Code :
- function mettreAJourLesSelectDesGroupesUtilisateur(){
- console.debug("mettreAJourLesSelectDesGroupesUtilisateur()" );
- var listeDesGroupesVal = new Array();
- var listeDesGroupesText = new Array();
- $(".listeGroupe" ).each(function(index, element){
- listeDesGroupesVal[index] = $(this).attr("value" );
- listeDesGroupesText[index] = $(this).attr("id" );
- //console.debug("valeur :" + element.attr("value" ) + " text : " + element.attr("id" ) + " " );
- //console.debug(index + element);
- });
- $(".listeGroupeSurUtilisateur" ).each(function(index, element){
- var listeGroupeSelectionne = new Array();
- var j = 0;
- var idCourant = $(this).attr("id" );
- console.debug(idCourant);
- console.debug($("#"+idCourrant).val());
- /*each(function(indexSelect, elementSelect){
-
- //console.debug($(this).text());
-
- });
-
- /*
- $( this + " option:selected" ).each(function () {
- /*
- listeGroupeSelectionne[j] = $(this).val();
- console.debug($("#" + this).val() + " " );
-
- });
- /*
- var optionString = "";
- for(i = 0; i <= listeDesGroupesVal.length ;i=i+1){
-
- optionString = optionString + "<option value=\"" + listeDesGroupesVal[i];
- var wasSelectedElement = false;
- for(j = 0; j <= listeGroupeSelectionne.length ;j=j+1){
- if (listeGroupeSelectionne[j] == listeDesGroupesVal[i]) {
- wasSelectedElement = true;
- }
- }
-
- if (wasSelectedElement) {
- optionString = optionString + " selected=\"selected\" ";
- }
-
- optionString = optionString + ">" + listeDesGroupesText[i] + "</option>";
- console.debug(optionString + "\n\n" );
- }
- */
- });
- console.debug("...()2" );
- }
|
Merci de votre aide !
Message édité par naeco le 28-09-2011 à 11:28:02