Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Funkcja wyświetlająca <select>, Zaznaczenie wybranej pozycji
wojtek
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: --

Ostrzeżenie: (0%)
-----


Witam,

Mam problem z JS, ktorego z moja wiedza o tym jezyku nie potrafie rozwiazac. Najlepiej bedzie jesli pokaze na kodzie:

Kod
function druzyna(nazwa, wybrana) {
    document.write('<select id="'+nazwa+'" name="'+nazwa+'">');
    document.write('<option value="0">brak danych</option>');
    document.write('<option value="4">Cracovia Kraków</option>');
    document.write('<option value="3">Legia Warszawa</option>');
    document.write('<option value="1">Wisła Kraków</option>');
    document.write('</select>');
}


W kodzie html kilkunastokrotnie odwołuję się do funkcji druzyna, jako argument podając nazwę selecta i wybrana wartosc. Problem mam z tym drugim. Chcialbym, aby przy wywołaniu:

Kod
druzyna('nazwa_pola',1);


za pomoca JS zostalo wypisane:

  1. (...)
  2. <option value="1" selected="selected">Wisła Kraków</option>
  3. (..)


... czyli, aby wybrana wartość została wyświetlona domyślnie w select'cie.

Teoeretycznie myślę, że możnaby to rozwiązać w taki sposób:
1) Po ostatniej linii w kodzie funkcji dodać np:
var aktualna = document.getElementById(nazwa);

2) W petli przeleciec po wszystkich elementach <option> pola "aktualna"

3) Jesli value danego option będzie równe wartości "wybrana", to dopisać po value "selected=selected"

Tyle, że nie potrafię tego zrobić w praktyce za pomocą JS. Problem mam z punktem 2) i 3). Jak to można zrealizować?

Z góry dzięki za pomoc.

Ten post edytował wojtek 20.05.2005, 11:55:36
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
revyag
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Ja tu widze jeden problem.
Zeby móc się do selecta odwołać to on musi istnieć, a ty chcesz się do niego odwoływać w trakcie jego tworzenia co nie przejdzie.
Go to the top of the page
+Quote Post
wojtek
post
Post #3





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: --

Ostrzeżenie: (0%)
-----


Hm.. Chciałem odwołać się do tego selecta już po linijce:

Kod
document.write('</select>');


... czyli po jego stworzeniu.. Chodzi o to, żeby po jego stworzeniu wyszukać odpowiednia wartosc i dodac tam to selected="selected".

Innego sposobu nie widze...
Go to the top of the page
+Quote Post
revyag
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Kod
s=document.getElementById(nazwa);
for(i=0;i<s.options.length;i++){
    if(s.options[i].value==wybrana){
        s.options[i].selected="selected";
    }
}
Go to the top of the page
+Quote Post
wojtek
post
Post #5





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: --

Ostrzeżenie: (0%)
-----


Dzięki za pomoc, działa świetnie.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 17:00