Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][jQuery] pobranie value z selectów
Forum PHP.pl > Forum > Przedszkole
peter13135
(PROBLEM CZĘŚCIOWO ROZWIĄZANY, WIĘC PROSZĘ CZYTAĆ OD "EDIT" )
Mam kilka list rozwijanych "selectów", które mają oczywiście opcje, a te opcje mają przypisane jakieś value. Wszystkie selecty mają klasę attr (czyli class="attr").

Chciałbym za pomocą jQuery pobrać value option'ów które aktualnie są zaznaczone.
Do tej pory udało mi się pobrać value pierwszego elementu, robię to w ten sposób :

[JAVASCRIPT] pobierz, plaintext
  1. $(".attr option:selected").val();
[JAVASCRIPT] pobierz, plaintext


Ale w jaki sposób dostać się do pozostałych wartości ?
EDIT://
Udało mi się tego dokonać w taki sposób :
[JAVASCRIPT] pobierz, plaintext
  1. var tab = [];
  2. $(".attr option:selected").each(function() { tab.push($(this).val())});
[JAVASCRIPT] pobierz, plaintext


Ale teraz chciałbym ograniczyć się do tych selectów,które mają więcej niż 1 option.
Czyli.. takie coś :
[JAVASCRIPT] pobierz, plaintext
  1. $(".attr option:selected length:2").each(function() { tab.push($(this).val())});
[JAVASCRIPT] pobierz, plaintext

To oczywiście nie zadziała, więc proszę traktować to jako pseudokod.
W jaki sposob mogę rozwiązać swój problem ?
Daimos
[JAVASCRIPT] pobierz, plaintext
  1. $(".attr").each(function() {
  2. if($(this).children('option:selected').size() == 2)
  3. {
  4. // tutaj masz dostępne opcje, dla selekta który ma zaznaczone dwie
  5. }
  6. });
[JAVASCRIPT] pobierz, plaintext

tak z palca, to nie wiem czy dobrze, ale ogólnie tą zasadą uzyskasz to co chciałeś
peter13135
Nie wiem czy dobrze rozkminiam, ale na moje oko ta linijka :
[JAVASCRIPT] pobierz, plaintext
  1. $(this).children('option:selected').size()
[JAVASCRIPT] pobierz, plaintext

zwróci zawsze 1, bo przecież tylko jedna opcja może być zaznaczona
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.