Wie kann ich alle Optionen einer Auswahl über jQuery erhalten, indem ich ihre ID weitergebe?
Ich suche nur nach ihren Werten, nicht nach dem Text.
javascript
jquery
jquery-selectors
Klicken Sie auf Upvote
quelle
quelle
$.map
ist viel eleganter und weniger fehleranfällig (siehe unten).$('#id option').map((index, option) => option.value)
: Beachten Sie, wie die Rückrufsignatur im Vergleich zur "Vanille" JS-map
Funktion ((item, index) =>
)Ich kenne jQuery nicht, aber ich weiß, dass wenn Sie das select-Element erhalten, es ein 'options'-Objekt enthält.
quelle
$.map
ist wahrscheinlich der effizienteste Weg, dies zu tun.Sie können Änderungsoptionen hinzufügen,
$('#selectBox option:selected')
wenn Sie nur die ausgewählten Optionen möchten.In der ersten Zeile werden alle Kontrollkästchen aktiviert und das jQuery-Element in eine Variable eingefügt. Wir verwenden dann die
.map
Funktion von jQuery, um eine Funktion auf jedes der Elemente dieser Variablen anzuwenden. Alles, was wir tun, ist, den Wert jedes Elements zurückzugeben, da dies alles ist, was uns wichtig ist. Da wir sie innerhalb der Kartenfunktion zurückgeben, wird tatsächlich ein Array der Werte wie angefordert erstellt.quelle
$('#selectBox').val()
Gibt ein Array der ausgewählten Werte zurück.Einige Antworten verwenden
each
, ist abermap
meiner Meinung nach eine bessere Alternative:map
In jQuery gibt es (mindestens) zwei Funktionen. Die Antwort von Thomas Petersen verwendet "Utilities / jQuery.map"; Diese Antwort verwendet "Traversing / Map" (und daher einen etwas saubereren Code).Es hängt davon ab, was Sie mit den Werten machen werden. Wenn Sie beispielsweise die Werte einer Funktion zurückgeben möchten,
map
ist dies wahrscheinlich die bessere Alternative. Aber wenn Sie die Werte direkt verwenden möchten, möchten Sie wahrscheinlicheach
.quelle
get()
das zurückgegebene Objekt häufig mit einem Basisarray." - api.jquery.com/maptext()
stattdessen einfach gewechseltval()
. Vielen Dank ! (Ich habe Sie veranlasst, über die 1000 zu gehen;->
)quelle
Die richtige Methode besteht jedoch darin, die DOM-Eigenschaft des Elements wie folgt festzulegen :
quelle
Dadurch werden die Optionswerte von
#myselectbox
in ein schönes, sauberes Array für Sie eingefügt:quelle
$.map(domelts, elt=> $(elt).val())
Sie können alle Ihre "ausgewählten Werte" anhand des Namens der Kontrollkästchen nehmen und sie in einem durch "," getrennten Stich darstellen.
Eine gute Möglichkeit, dies zu tun, ist die Verwendung von $ .map () von jQuery:
quelle
select
undoption
nicht um Kontrollkästchen.Arbeitsbeispiel
Der effizienteste Weg, dies zu tun, ist die Verwendung
$.map()
Beispiel:
quelle
Sie können dafür folgenden Code verwenden:
quelle
Für Mehrfachauswahloption:
$('#test').val()
Gibt eine Liste der ausgewählten Werte zurück.$('#test option').length
Gibt die Gesamtzahl der Optionen zurück (sowohl ausgewählt als auch nicht ausgewählt).quelle
Dies ist ein einfaches Skript mit jQuery:
quelle
Hier ist ein einfaches Beispiel in jquery, um alle Werte, Texte oder Werte des ausgewählten Elements oder den Text des ausgewählten Elements abzurufen
quelle
Oder:
Um die Ergebnisse zu sehen:
quelle
Wenn Sie nach allen Optionen mit ausgewähltem Text suchen, funktioniert der folgende Code.
quelle
Der kurze Weg
oder
quelle