Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] dynamiczny select
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
maverik
Mam mały problem z dynamicznym wyświetlaniem select'a. Na JS za bardzo sie nie znam no ale może Wy coś mi podpowiecie smile.gif

Oto kod:
  1. document.formularz.elements.month.length = 0;
  2. for(i=d.getMonth(); i < 12; i++)
  3. {
  4. document.formularz.month.options[i-d.getMonth()] =new Option(yearmonth[i], i);
  5. }
  6. document.formularz.month.options[0].selected = true;


No i to niby działa w IE i FF ale w Operze występują "puste" pola na liście.
Oto efekt: obrazek

Jak pozbyć sie tych "pustych" pól?
kamiseq
a nie prosciej ci to zrobic poprzez document.createElement ?

i troche mi sie nie podoba pierwsza linijka, czy ona cokolwiek zmieia?wydawalo mi sie ze length jest tylko informacja, i nie zmienia wlasciwosci obiektu
maverik
Oki, poradziłem sobie tak że tą ostatnią linie zamieniłem na:
  1. document.formularz.month.options[0].defaultSelected = true;

Ale to działało tylko w Operze... w FF i IE nie działa więc wymyśliłem sobie takie coś:
  1. document.formularz.elements.month.length = 0;
  2. for(i=d.getMonth(); i < 12; i++)
  3. {
  4. document.formularz.month.options[i-d.getMonth()] =new Option(yearmonth[i], i);
  5. }
  6. if (navigator.appName == "Opera")
  7. {
  8. document.formularz.month.options[0].defaultSelected = true;
  9. }
  10. else
  11. {
  12. document.formularz.month.options[0].selected = true;
  13. }


Mam nadzieję, że to poprawne rozwiązanie (działa na IE7.0, FF2.0 i O9.2, na innych nie testowałem). Umieszczam je bo może komuś sie przyda smile.gif
Pozdrawiam smile.gif

PS. Temat do zamknięcia.
misiek172
ale to jest bez sensu... przecierz zawsze domyślnie zaznaczony jest pierwszy element z listy...
ale jeśli już to istnieje możliwość z selectedIndex , według mojej kochanej książeczki działa dosłownie z każdą przeglądarką
maverik
Cytat
ale to jest bez sensu... przecierz zawsze domyślnie zaznaczony jest pierwszy element z listy...

to 0 w indexie było domyslne... normalnie to mam tam zmienną w której przekazuje który element ma być wybrany jako domyślny
Cytat
ale jeśli już to istnieje możliwość z selectedIndex , według mojej kochanej książeczki działa dosłownie z każdą przeglądarką

działać to to działa ale dokładnie w taki sam sposób jak pisałem w pierwszym moim poście... występują "puste" pola
Specjalnie zmieniłem na selectedIndex i oto przykład: obrazek
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.