Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS][CSS]Zmiana obrazka po zmianie w <select>
PaKoS
post 22.09.2006, 08:02:50
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 24.03.2006

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


Witam,
Czy macie jakieś propozycje co do zmiany obrazka o ID np. "obraz"
za każdem razem po wybraniu innego pola w <select..>?

Ja zrobiłem to tak:
<select...>
<option onClick="obraz.src='tu_src'" value="nazwa">nazwa2</option>
itd itd
ale to jeśli działa doskonale np. w Mozilli nie działa już pod IE a powinno mimo wszystko działać wszędzie smile.gif

Propozycje? snitch.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
revyag
post 22.09.2006, 08:45:22
Post #2





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

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


A po co do każdego optiona dawać zdarzenie ?
Nie lepiej tak: ?
Kod
function swap(sel) {
    document.getElementById("obrazek").src = sel.options[sel.selectedIndex].value;
}

  1. <select onchange="swap(this)"></select>


--------------------
-------------

------
Go to the top of the page
+Quote Post
igors
post 6.02.2007, 20:13:36
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 6.02.2006

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


Cytat(revyag @ 22.09.2006, 08:45:22 ) *
A po co do każdego optiona dawać zdarzenie ?
Nie lepiej tak: ?
Kod
function swap(sel) {
    document.getElementById("obrazek").src = sel.options[sel.selectedIndex].value;
}

  1. <select onchange="swap(this)"></select>

Skrypt dobry, działa.

Pytanie można by zaliczyć właściwie do przedszkola, bo, jak zaraz będziecie mogli zobaczyć, takie ono jest:
w <option> mam value 1.jpg, 2.jpg, 3.jpg itd, ale chcę, żeby w obrazku "obrazek" rsc wyglądało tak: ../images/1.jpg itd. I mam problem z wpleceniem tego ../images/ w document.getElementById("obrazek").src = sel.options[sel.selectedIndex].value;. Próbowałem np. tak: document.getElementById("obrazek").src = '../images/'.sel.options[sel.selectedIndex].value;, ale nie dało rady. Próbowalem łączyć to spacją, przecinkiem i też nic. Gdy po "=" zostawię samo "../images/", wtedy zawartość obrazek.src zmienia się, ok, ale obrazek się nie pokazuje, bo nie może (../images/ nie jest obrazkiem, ale, jak ktoś już pewnie zauważył, folderem).

Tego problemu mogłoby nie być, gdybym do value dał od razu pełen adres obrazka, ale nie mogę. Cóż.

Z góry dziękuję i pozdrawiam.

//edit
revyag, dzięki. Ale ze mnie n00b. ;P

Ten post edytował igors 6.02.2007, 22:41:08
Go to the top of the page
+Quote Post
revyag
post 6.02.2007, 22:02:04
Post #4





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

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


Łańcuchy znaków łączy się znakiem +


--------------------
-------------

------
Go to the top of the page
+Quote Post
Joy-machine
post 7.02.2007, 19:44:12
Post #5





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 2.02.2007

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


a ładniej:
  1. var selects = getElementByClassName('class_name','select',document);
  2. for(i=0;i<selects.length;i++){
  3. selects[i].onchange = function(){ swap(this); }
  4. }


gdzie: getElementByClassName => google.com

Ogólnie polecam stosowanie tej funkcji, oszczędzamy nazewnictwo (bo stosujemy i do JS i do CSS) a sama funckja działa na: class="klasa1 klasa1".
Go to the top of the page
+Quote Post
lopik
post 8.02.2007, 12:54:24
Post #6





Grupa: Zarejestrowani
Postów: 340
Pomógł: 0
Dołączył: 7.07.2006

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


A co to ma być : getElementByClassName() blink.gif
Pierwsze zrób / znajdź taką funkcję, a potem napisz, bo w DOM jej nie ma.
Wiem, że taka jest do znalezienia, ale jak coś piszesz to może pisz dokładnie.

A ten twój dopisek w stylu: "gdzie: getElementByClassName => google.com" , może oznaczać, że nie wiesz jak taką funkcję napisać, w ogóle to nudne te twoje dopiski w tym stylu dotyczące w google.

Tak jak tu napisałeś, "gdzie $ => google.com" sprawdź pierwsze co google znajdzie po wpisaniu znaczka dolara, a potem daj ten "twój dopisek".


Gorzej będzie jak jakiemuś adminowi/modowi też te dopiski się w końcu znudzą (;


--------------------
w3c & c++
Go to the top of the page
+Quote Post
Joy-machine
post 8.02.2007, 14:25:09
Post #7





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 2.02.2007

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


Cytat
A ten twój dopisek w stylu: "gdzie: getElementByClassName => google.com" , może oznaczać, że nie wiesz jak taką funkcję napisać
biggrin.gif biggrin.gif biggrin.gif

Cytat
Tak jak tu napisałeś, "gdzie $ => google.com" sprawdź pierwsze co google znajdzie po wpisaniu znaczka dolara, a potem daj ten "twój dopisek".


Trzeba być super lamą żeby w google wpisać sam znaczek $, rozumiem że sprawdziłeś co się stanie...


Cytat
Gorzej będzie jak jakiemuś adminowi/modowi też te dopiski się w końcu znudzą (;

Prędzej adminowi znudzą się Twoje glupie docinki nie na temat. Poza tym odsyłam tam, gdzie wszystko jest, nie wsadzam bzdur wyssanych z palca.
Go to the top of the page
+Quote Post
nospor
post 8.02.2007, 14:58:03
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@Joy-machine przestan w koncu podawac jakies funkcje z prototype bo zaraz jednak adminowi sie to znudzi.
Jesli jednak juz sie decydujesz, to podaj laskawie od razu ze to z takiej a takiej biblioteki a nie sie wymadrzasz i odsylasz tylko do googli. Tak jak z tym $. Ktos chce uzywac document.getElementById to niech uzywa, nie kazdy musi zaraz z prototype korzystac i wiedziec co oznacza twoje $.

Cytat
Trzeba być super lamą żeby w google wpisać sam znaczek $, rozumiem że sprawdziłeś co się stanie...
a niby co mial wpisac? Sam tak napisales:
Cytat
gdzie $ => google.com

Prosze mi tu uzytkownikow nie wyzywac od lam, jest to najzwyklejsze ublizanie innemu uzytkownikowi i jest karane na forum


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Joy-machine
post 8.02.2007, 15:53:25
Post #9





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 2.02.2007

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


Dla wszystkich "daj mi, zrób mi" wkleję link do świetnego kursu JS:

http://kolos.math.uni.lodz.pl/~marczak/Inf.../Ai/kurs_js.pdf

Nie dostałem tego na gwiazdkę, znalazlem na google!!!

Forum ma pomagać, ja też chętnie pomogę, ale podawanie wszystkiego na tacy to nie pomoc, a wychowywanie pokolenia "daj mi, zrób mi". Spadam stąd.
Go to the top of the page
+Quote Post
boria
post 11.02.2007, 13:14:10
Post #10





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 11.02.2007

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


a ja mam jescze male pytanie:
ten skrypt powoduje zmiane obrazka po wybraniu odpowiedniej opcji, ale co zrobic zeby zanim uzytkownik cos wybierze pojawial sie jakis obrazek??
Go to the top of the page
+Quote Post
Joy-machine
post 12.02.2007, 11:16:11
Post #11





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 2.02.2007

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


Boria poczytaj o darzeniach (events) - gdzie, jak i kiedy się wykonują.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 16:07