Za pomocą jQuery sprawdź, czy w menu wyboru wybrano opcję, a jeśli nie, przypisz jedną z wybranych opcji.
(Selekcja jest generowana z labiryntem funkcji PHP w aplikacji, którą właśnie odziedziczyłem, więc jest to szybka poprawka, podczas gdy ja się nimi zajmuję :)
javascript
jquery
forms
dom
html-select
meleyal
źródło
źródło
Odpowiedzi:
Chociaż nie jestem pewien, co dokładnie chcesz osiągnąć, ten fragment kodu zadziałał dla mnie.
źródło
$("#mySelect").val(3);
$("#mySelect option")[2]['selected'] = true;
zorientowałem się po zbadaniu struktur obiektów w Firebug.$("#mySelect").prop("selectedIndex", 2)
Nie trzeba do tego używać jQuery:
źródło
To pytanie jest stare i ma wiele poglądów, więc po prostu wyrzucę kilka rzeczy, które pomogą niektórym ludziom jestem pewien.
Aby sprawdzić, czy wybrany element ma wybrane elementy:
lub aby sprawdzić, czy zaznaczenie nic nie wybrało:
lub jeśli jesteś w jakiejś pętli i chcesz sprawdzić, czy wybrany jest bieżący element:
aby sprawdzić, czy element nie jest zaznaczony w pętli:
Oto niektóre ze sposobów, aby to zrobić. jQuery ma wiele różnych sposobów na osiągnięcie tego samego, więc zwykle wybierasz tylko ten, który wydaje się najbardziej wydajny.
źródło
Polecam odpowiedź lencioni . Możesz zmienić selektor opcji,
('#mySelect option:last')
aby wybrać opcję o określonej wartości za pomocą „#mySelect option[value='yourDefaultValue']
”. Więcej na temat selektorów .Jeśli intensywnie pracujesz z wybranymi listami na kliencie, sprawdź tę wtyczkę: http://www.texotela.co.uk/code/jquery/select/ . Spójrz na źródło, jeśli chcesz zobaczyć więcej przykładów pracy z listami wyboru.
źródło
Oto moja funkcja zmieniająca wybraną opcję. Działa dla jQuery 1.3.2
źródło
źródło
Łatwo! Domyślnie powinna być pierwsza opcja. Gotowe! Doprowadziłoby to do dyskretnego JavaScript, ponieważ JavaScript nie jest potrzebny :)
Dyskretny JavaScript
źródło
Natrafiłem już na wspomnianą wtyczkę texotela , która pozwoliła mi ją rozwiązać w następujący sposób:
źródło
Spójrz na selectedIndex na
select
elemencie. BTW, to zwykła rzecz DOM, a nie specyficzne dla JQuery.źródło
To był szybki skrypt, który okazał się działać ... .Result jest przypisany do etykiety.
źródło
Robicie zdecydowanie za dużo na wybór. Po prostu wybierz według wartości:
źródło
źródło
Znalazłem dobry sposób, aby sprawdzić, czy opcja jest zaznaczona i wybierz domyślną, gdy nie jest.
Jeśli #some_select nie ma domyślnie wybranej opcji, to .val () jest niezdefiniowany
źródło
źródło
Jest to kolejny sposób sprawdzenia, czy opcja jest zaznaczona lub nie w jquery. Zwróci to wartość logiczną (prawda lub fałsz).
[1] jest indeksem opcji wyboru pola
źródło
Zmień zdarzenie w polu wyboru, aby uruchamiało się, a kiedy to zrobi, po prostu wyciągnij atrybut id wybranej opcji: -
źródło
Właśnie szukałem czegoś podobnego i znalazłem to:
Znajduje to wszystkie wybrane menu w klasie, które nie mają jeszcze wybranej opcji, i wybiera opcję domyślną (w tym przypadku „2”).
Próbowałem użyć
:selected
zamiast[selected]
, ale to nie działało, ponieważ coś jest zawsze wybrane, nawet jeśli nic nie ma atrybutuźródło
Jeśli musisz wyraźnie zaznaczyć każdą opcję, aby zobaczyć, czy jakaś ma atrybut „zaznaczony”, możesz to zrobić. W przeciwnym razie skorzystasz
option:selected
z wartości pierwszej opcji domyślnej.źródło