Mam wybór wielokrotny:
<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>
Ładuję dane z mojej bazy danych. Następnie mam taki ciąg:
var values="Test,Prof,Off";
Jak mogę ustawić te wartości w opcji wielokrotnego wyboru? Próbowałem już zmienić ciąg w tablicy i umieścić go jako wartość w wielokrotności, ale nie działa ...! Czy ktoś może mi w tym pomóc? DZIĘKI!!!
javascript
jquery
multiple-select
Zwen2012
źródło
źródło
$('#strings').val(values.split(','))
. Bez jQuery Plain Old Javascript ŁukaszW.pldocument.getElementById('strings').value = ["Test", "Prof", "Off"]
również działa w jednej liniiw jQuery:
lub w czystym JavaScript:
jQuery robi tutaj znaczącą abstrakcję.
źródło
Po prostu podaj funkcję jQuery val tablicą wartości:
Aby uzyskać wybrane wartości w tym samym formacie:
źródło
Czyste rozwiązanie JavaScript ES6
querySelectorAll
funkcji i podzielvalues
ciąg.Array#forEach
do iteracji po każdym elemencievalues
tablicy.Array#find
aby znaleźć opcję pasującą do podanej wartości.selected
atrybut natrue
.Uwaga :
Array#from
przekształca obiekt podobny do tablicy w tablicę, a następnie możesz używaćArray.prototype
na niej funkcji, takich jak wyszukiwanie lub mapowanie .źródło
Zasadniczo wykonaj a,
values.split(',')
a następnie przejrzyj wynikową tablicę i ustaw Select.źródło
Czyste rozwiązanie JavaScript ES5
Z jakiegoś powodu nie używasz jQuery ani ES6? To może ci pomóc:
źródło
źródło
to jest błąd w niektórych odpowiedziach do zamiany |
ta poprawka jest poprawna, ale | Ostatecznie powinno to wyglądać tak \ |
źródło