Ich habe eine Mehrfachauswahl:
<select name='strings' id="strings" multiple style="width:100px;">
<option value="Test">Test</option>
<option value="Prof">Prof</option>
<option value="Live">Live</option>
<option value="Off">Off</option>
<option value="On">On</option>
</select>
Ich lade Daten aus meiner Datenbank. Dann habe ich eine Zeichenfolge wie diese:
var values="Test,Prof,Off";
Wie kann ich diese Werte in der Mehrfachauswahl festlegen? Ich habe bereits versucht, die Zeichenfolge in einem Array zu ändern und als Wert in das Vielfache einzufügen, funktioniert aber nicht ...! Kann mir jemand dabei helfen? VIELEN DANK!!!
javascript
jquery
multiple-select
Zwen2012
quelle
quelle
$('#strings').val(values.split(','))
. Ohne jQuery erreicht ŁukaszW.pls Plain Old Javascriptdocument.getElementById('strings').value = ["Test", "Prof", "Off"]
auch einenin jQuery:
oder in reinem JavaScript:
jQuery führt hier eine signifikante Abstraktion durch.
quelle
Stellen Sie der Funktion jQuery val einfach ein Array von Werten zur Verfügung:
Und um die ausgewählten Werte im gleichen Format zu erhalten:
quelle
Reine JavaScript ES6-Lösung
querySelectorAll
Funktion ab und teilen Sie dievalues
Zeichenfolge.Array#forEach
diese Option, um jedes Element aus demvalues
Array zu durchlaufen .Array#find
Sie diese Option, um die Option zu finden, die dem angegebenen Wert entspricht.selected
Attribut auftrue
.Hinweis :
Array#from
Transformiert ein Array-ähnliches Objekt in ein Array. Anschließend können SieArray.prototype
Funktionen wie Suchen oder Zuordnen verwenden .quelle
Machen Sie im Grunde genommen eine
values.split(',')
und durchlaufen Sie dann das resultierende Array und stellen Sie die Auswahl ein.quelle
Reine JavaScript ES5-Lösung
Aus irgendeinem Grund verwenden Sie weder jQuery noch ES6? Dies könnte Ihnen helfen:
quelle
quelle
Dies ist ein Fehler in einigen Antworten für Ersetzen |
Diese Korrektur ist korrekt, aber die | Am Ende sollte es so aussehen \ |
quelle