Come ottenere più valori casella di selezione utilizzando jquery?Come ottenere più valori casella di selezione usando jquery?
risposta
var foo = $('#multiple').val();
Divertente guardare indietro a queste vecchie domande e vedere la risposta sbagliata scelta tante volte. Chiaramente questo non sta ottenendo i 'valori' come l'OP stava chiedendo come la risposta 'corretta' sotto. – Tomas
IDE come PyCharm ora stanno riprendendo un utilizzo come questo, mostrando avvertimenti come "Uso inefficiente di JQuery", che è quello che mi ha spinto a scorrere oltre questa risposta. : o) –
Non è necessario creare nuovamente un oggetto JQuery all'interno della funzione, è inutile perché è possibile utilizzare puro javascript. Basta fare 'foo [i] = selected.value;' –
Usando la funzione .val()
in un elenco di selezione multipla restituirà una matrice dei valori selezionati:
var selectedValues = $('#multipleSelect').val();
e nel tuo html:
<select id="multipleSelect" multiple="multiple">
<option value="1">Text 1</option>
<option value="2">Text 2</option>
<option value="3">Text 3</option>
</select>
cosa succede se u vuole ottenere 'Testo 1' al posto del valore? sostituire '.val()' con '.text()'? –
Vale la pena notare che una selezione multipla con nulla selezionato restituisce 'null' piuttosto che una matrice vuota. Questo significa che se stai programmando _adding_ un valore selezionato, hai un po 'di giocoleria da fare per farlo bene. – Leo
Grazie! Ci sono tanti modi per ottenere un valore da un elemento con jQuery che è inevitabilmente una lotta per trovare il modo che stai cercando. –
Puoi anche utilizzare la funzione js map:
$("#multipleSelect :selected").map(function(i, el) {
return $(el).val();
});
E allora si può ottenere qualsiasi proprietà dell'elemento option
:
return $(el).text();
return $(el).data("mydata");
return $(el).prop("disabled");
etc...
ottima risposta, ma non c'è bisogno di pagare la spesa extra di avvolgere 'el' come un oggetto jQuery per ogni singola opzione. Basta andare direttamente dal DOM quando non è troppo strano. Puoi cambiare '$ (el) .val()' in 'el.value'. Ovviamente se sei abituato a jQuery o vuoi prendere dati o attributi come gli altri tuoi esempi, jQuery non fa male a nessuno. – KyleMit
@KyleMit Ottimo consiglio. Ho appena usato questo approccio per afferrare una collezione di valori di campo nascosti e ha funzionato perfettamente. – EvilDr
var selected=[];
$('#multipleSelect :selected').each(function(){
selected[$(this).val()]=$(this).text();
});
console.log(selected);
Ancora un altro approccio per questo problema. L'array selezionato avrà gli indici come valori di opzione e ogni elemento dell'array avrà il testo come valore.
per esempio
<select id="multipleSelect" multiple="multiple">
<option value="abc">Text 1</option>
<option value="def">Text 2</option>
<option value="ghi">Text 3</option>
</select>
se dire opzione 1 e 2 sono selezionate.
la matrice selezionata sarà:
selected['abc']=1;
selected['def']=2.
codice HTML:
<select id="multiple" multiple="multiple" name="multiple">
<option value=""> -- Select -- </option>
<option value="1">Opt1</option>
<option value="2">Opt2</option>
<option value="3">Opt3</option>
<option value="4">Opt4</option>
<option value="5">Opt5</option>
</select>
codice jQuery:
$('#multiple :selected').each(function(i, sel){
alert($(sel).val());
});
spero che funziona
Non "spero che funzioni", se non sei sicuro che sia la risposta, provalo e sii sicuro! –
Se non si è sicuri della risposta, non pubblicarla .. !! non siamo qui per le speranze .. !! LOL –
Hey Man. Funziona perfettamente. Controlla. Dovresti sperarlo. Non dare un commento irrilevante .. – Prabhagaran
ottenere i valori selezionati in virgola come separatore
var Accessids = "";
$(".multi_select .btn-group>ul>li input:checked").each(function(i,obj)
{
Accessids=Accessids+$(obj).val()+",";
});
Accessids = Accessids.substring(0,Accessids.length - 1);
console.log(Accessids);
basta usare questo
$('#multipleSelect').change(function() {
var selectedValues = $(this).val();
});
- 1. come ottenere più valori di checkbox usando jquery
- 2. Come preselezionare l'opzione nella casella di selezione usando jQuery
- 3. Selezione casella di selezione con jQuery
- 4. JQuery aggiornare casella di selezione
- 5. Come ottenere più valori selezionati della casella di selezione in php?
- 6. selezionare più valori in una casella di selezione multipla con Jquery
- 7. Come posso utilizzare una casella di selezione con jQuery AutoComplete?
- 8. Casella di selezione scrivibile
- 9. Convalida casella di selezione
- 10. JQuery Mobile: come ri-renderizzare la casella di selezione?
- 11. Come selezionare la casella di selezione scelta jquery
- 12. Come creare una casella di selezione raggruppata usando simple_form?
- 13. Come abilitare/disabilitare le opzioni nella casella di selezione usando jquery
- 14. ottenere tutti i valori di più file selezionare con jQuery
- 15. come iterare attraverso più opzioni di selezione con jquery
- 16. Completamento automatico e selezione di più valori nella casella di testo lucida
- 17. Modifica il valore della casella di selezione materializza da jquery
- 18. Come ottenere il tipo di input usando jquery?
- 19. Selezione di più valori dall'elenco a discesa
- 20. jQuery selezione TR più vicina
- 21. jquery ottenere tutti i valori di colonna della tabella
- 22. Selezione di più marker all'interno di una casella nel volantino
- 23. Modificare il valore della casella di selezione Chosen.js utilizzando jQuery
- 24. Come ottenere il valore di una proprietà CSS usando JQuery?
- 25. jQuery/Seleziona in modo programmatico un'opzione nella casella di selezione
- 26. Matrice di post di più valori di casella di controllo
- 27. Ottenere i valori degli attributi come matrice da selezione di elementi utilizzando jQuery
- 28. Come posso ottenere un'immagine usando jquery ajax?
- 29. Come ottenere il testo dell'opzione selezionata di una selezione usando jquery?
- 30. Ottieni i valori della casella di controllo usando il nome della casella di controllo
potrebbe desiderare di inserire un codice di cose che hai provato che non ha funzionato –