[risolto] Multi select

gbtchiaravalle

Nuovo Utente
29 Gen 2014
6
0
0
Salvi a tutti, sto postando per cercare una soluzione a questo problema.

In pratica io ho delle select/option create dinamicamente con valori estratti dal db e ad ogni select ha un id unico che corrisponde all'id degli user.

membri.jpg

PHP:
echo "<select name='id' value='$id_membri' class='select'>";
                   echo "<option value=''>Gradi:</option>";
                                  foreach($nome_gradi as $key_gradi => $gradi) 
                                  { 
                                    echo "<option value='$key_gradi'>$gradi</option>";
                                  }
echo "</select>";

e mi ricavo i valori così:
Codice:
      var foo = []; 
$('.select :selected').each(function(i, selected){ 
  foo[i] = $(selected).val(); 
});

ma ho 2 problemi:

- non riesco a prendere solo i valori delle select selezionate,
- non riesco a prendere gli id delle select in uso, cioè se io sto usando la select sulla riga dell'user2 io devo potermi ricavare l'id dell'user2 che di fatto corrispondere all'id della select.

Spero di essere stato chiaro!:byebye:
 
Ultima modifica:
Forse sarebbe meglio che mettessi tutto lo script con i suoi macatori, li mancano gli eventi esempio...
 
Prova con una cosa del genere:
Codice:
var foo = [];
var i = 0;
$('.select').each(function(){

   // con this ti riferisci alla select corrente
   if($(this).val() !== ''){

     // con questo prendi l'id
     var id = $(this).attr('id');

     foo[i] = $(this).val();
     i++;
   }

});
Comunque in che senso devi prendere l'id della select in uso? in quale evento dici? onchange? io nella funzione .each() ti ho fatto vedere come si prende

Se posti tutto il codice o ci dai il link alla pagina se è online è anche meglio :)
 
Ultima modifica:
Prova con una cosa del genere:
Codice:
var foo = [];
var i = 0;
$('.select').each(function(){

   // con this ti riferisci alla select corrente
   if($(this).val() !== ''){

     // con questo prendi l'id
     var id = $(this).attr('id');

     foo[i] = $(this).val();
     i++;
   }

});
Comunque in che senso devi prendere l'id della select in uso? in quale evento dici? onchange? io nella funzione .each() ti ho fatto vedere come si prende

Se posti tutto il codice o ci dai il link alla pagina se è online è anche meglio :)

Ti ringrazio tantissimo della risposta ma avevo già risolto così

Codice:
                    var foo = []; 
                    var id = [];
                    $('.select :selected').each(function(i, selected){ 
                         foo[i] = $(selected).val(); 
                         id[i] = $(selected).attr('myid');
                    });

PHP:
                   echo "<select name='select' class='select' id='select'>";
                   echo "<option value = '0'>Grado:</option>";
                                  foreach($nome_gradi as $key_gradi => $gradi) 
                                  {
                                  echo("<option value='$key_gradi' myid='$id_membri'>$gradi</option>");
                                  }
                   echo "</select>
 

Discussioni simili