/ / JQuery non restituisce i valori della casella di selezione se nessun elemento è selezionato - jquery

JQuery non restituisce i valori della casella di selezione se nessun elemento è selezionato - jquery

Non sono sicuro che cosa sta succedendo qui, devo mancarequalcosa. Ho due caselle di selezione e gli utenti possono spostare elementi tra di loro per selezionare gli elementi di dati che vorrebbero scaricare, ecco la schermata di cattura:Tutto è groovy

Tutto funziona alla grande ECCETTO quando l'utente sposta alcuni elementi nella casella "Concetti dati" senza lasciare elementi selezionati in "Dati selezionati", come mostrato qui: Non fantastico

Ecco il codice che sta acquisendo i valori dalla casella "Dati selezionati":

var ExportSel = [];

$("#DataList2").each(function(){
ExportSel = $("#DataList2").val();
});

Ma questo restituisce un array vuoto se nulla èselezionato indipendentemente dal numero di elementi nella casella "Dati selezionati". Anche se quando lo controllo in firebug, mostra gli elementi e i valori sono presenti nella casella del selettore.

Sto fraintendendo la funzione .each, la funzione .val o qualcosa di ancora più fondamentale?

Un enorme grazie in anticipo, sempre impressionato dalla comunità dello stack!

risposte:

1 per risposta № 1

Il valore di a <select multiple> elemento è un array di tutte le opzioni selezionate. Ma non ti importa se le opzioni nel Selected Data colonna sono selezionati, vuoi una matrice di tutti loro. Quindi è necessario scorrere le opzioni, ottenendo i loro valori.

var ExportSel = [];
$("#DataList2 option").each(function() {
ExportSel.push(this.value);
});