W moim kodzie HTML mam <select>
trzy <option>
elementy. Chcę użyć jQuery, aby sprawdzić wartość każdej opcji w JavaScript var
. Jeśli pasuje, chcę ustawić wybrany atrybut tej opcji. Jak bym to zrobił?
javascript
jquery
html
llihttocs
źródło
źródło
$('#myselectid').val()
Odpowiedzi:
Waniliowy JavaScript
Używanie zwykłego starego JavaScript:
jQuery
Ale jeśli naprawdę chcesz używać jQuery:
Pokaż fragment kodu
jQuery - Korzystanie z atrybutów wartości
W przypadku, gdy opcje mają atrybuty wartości, które różnią się od zawartości tekstowej i chcesz wybrać za pomocą treści tekstowej:
Próbny
Ale jeśli masz powyższe skonfigurowane i chcesz wybierać według wartości za pomocą jQuery, możesz zrobić tak jak poprzednio:
Nowoczesny DOM
W przypadku przeglądarek, które obsługują
document.querySelector
i tejHTMLOptionElement::selected
właściwości, jest to bardziej zwięzły sposób wykonania tego zadania:Próbny
Knockout.js
Próbny
Polimer
Próbny
Kątowy 2
Uwaga: to nie zostało zaktualizowane w ostatecznej stabilnej wersji.
Próbny
Vue 2
Próbny
źródło
document.evaluate(".//select[@id='sel']/option[text()='Fish']", document.body, null, 9, null).singleNodeValue.selected = true;
Żaden z przykładów używających jquery w tym miejscu nie jest w rzeczywistości poprawny, ponieważ pozostawi zaznaczenie wyświetlając pierwszy wpis, mimo że wartość została zmieniona.
Właściwy sposób, aby wybrać Alaskę i pokazać wybrany element, używając:
Z jquery byłoby:
źródło
Możesz zmienić wartość elementu select, który zmienia wybraną opcję na tę z tą wartością, używając JavaScript:
PRÓBNY
źródło
Narzut
jQuery
Próbny
źródło
Chcę zmienić wybraną opcję zaznaczonego elementu zarówno wartość, jak i textContent (co widzimy) na „Mango”.
Najprostszy kod, który działał, znajduje się poniżej:
Mam nadzieję, że to komuś pomoże. Powodzenia.
Głosuj pozytywnie, jeśli ci to pomogło.
źródło
Przetestuj to demo
Wybieranie opcji na podstawie jej wartości
Wybór opcji na podstawie jej tekstu
Wspieranie HTML
źródło
Doskonałe odpowiedzi - oto wersja D3 dla każdego, kto szuka:
źródło
Skorzystałem z prawie wszystkich zamieszczonych tutaj odpowiedzi, ale nie czułem się z tym komfortowo, więc poszedłem o krok dalej i znalazłem łatwe rozwiązanie, które pasuje do moich potrzeb i czuję, że warto się z wami podzielić.
Zamiast iteracji po wszystkich opcjach lub za pomocą JQuery , możesz zrobić używając core JS w prostych krokach:
Przykład
Musisz więc znać wartość opcji do wyboru.
Jak używać?
Twoje komentarze są mile widziane. :) AzmatHunzai.
źródło
Po wielu poszukiwaniach próbowałem @kzh na liście wyboru, gdzie znam tylko
option
tekst wewnętrzny, a nievalue
atrybut, ten kod oparty na wybranej odpowiedzi Użyłem go do zmiany opcji wyboru zgodnie z bieżącą stronąurl
w tym formaciehttp://www.example.com/index.php?u=Steve
Dzięki temu
url
parametry wyświetlane jako wybrane, będą bardziej przyjazne dla użytkownika, a odwiedzający będzie wiedział, jaką stronę lub profil aktualnie przegląda.źródło
Użyłem tego po zaktualizowaniu rejestru i zmianie stanu żądania przez ajax, a następnie wykonuję zapytanie z nowym stanem w tym samym skrypcie i umieszczam go w elemencie select tag w nowym stanie, aby zaktualizować widok.
Mam nadzieję, że to się przyda.
źródło
Nieco schludniejsza wersja Vanilla.JS. Zakładając, że już naprawiłeś
nodeList
brakujące.forEach()
:Właśnie:
źródło