Autor Zpráva
silverback
Profil
Dobrý den. Mám takový problém. Potřebuju vytvořit několik selectboxů, když si zákazník vybere jakýkoli prvnek z nich měl by se změnit obrázek na stránce. Našel jsem takovýto jeden příklad:

http://jdstiles.com/java/imagelinker.html

což částečně řeší můj problém, ale funguje to jen s jedním Select boxem. Já bych potřeboval, aby ten script fungoval na všechny SB které budu na stránce mít. Jelikož se v JS moc nevyznám, potřeboval bych nějak tento script modifikovat. Případně pokud znáte nějaký tutoriál který konkrétně tohle řeší, byl bych vděčný za každou radu. Předem díky
vynalezce
Profil
chcete vice selectu ktere meni jeden obrazek nebo vice selectu pricemz kazdy zmeni jiny obrazek
silverback
Profil
více selectů které mění jeden jediný obrázek
vynalezce
Profil
<script>
var adresaa=new Array()
adresaa[1]="http://www.google.com"
adresaa[2]="http://www.seznam.cz"
adresaa[3]="http://www.atlas.cz"
adresaa[4]="http://www.centrum.cz"
</script>
<select onchange="ima.src=this.value+'.gif'; odka.href=adresaa[this.value]">
<option value="1" selected>1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<a href="http://www.google.com" id="odka"><img id="ima" src="1.gif"></a>
<select onchange="ima.src=this.value+'.gif'; odka.href=adresaa[this.value]">
<option value="1" selected>1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>




snad je to ok jedinej problem je to ze obrazek musi mit v nazvu cislo a zbytek musi byt stejny,
kdyby to hodne vadilo lze pouzit pole
do script
var adresaimga=new Array()
adresaimga[1]="adresa obrazku"
adresaimga[2]="adresa obrazku"
adresaimga[3]="adresa obrazku"
adresaimga[4]="adresa obrazku"

do on change misto ima.src=this.value+'.gif' dat ima.src=adresaimga[this.value]
napsal jsem to znova je to lepsi aspon pro me
silverback
Profil
Tak to je naprosto výborné - a mnohem jednodušší, než to co jsem měl předtím. Děkuji ti mnohokrát, jsi fakt machr. ;)
silverback
Profil
Tak problémek :) Opravdu je to vynikající, ale bohužel script nefunguje v Safari :p Všude jinde - dokonce i v opeře funguje bez problémů, ovšem Safari ... :-/ Takže kdyby jste si s tím chtěl z profesionálního zájmu pohrát ... :)
silverback
Profil
jen doplním, že jsem zcela vypustil script na odkaz - nepotřebuji obrázky nikam odkazovat - pro úplnost používám tuto techniku například zde: (nefungují všechny části, jde jen o zkoušku)

http://www.ultrasport.cz/_pages/ultrasport_kolanazakazku.html
Witus
Profil *
Neozkouším, ale v případě že safari nepodporuje onchange na <select> by to šlo ošetřit takto:

<script>
var adresaa=new Array();
adresaa[1]="http://www.google.com";
adresaa[2]="http://www.seznam.cz";
adresaa[3]="http://www.atlas.cz";
adresaa[4]="http://www.centrum.cz";
</script>
<select onclick="ima.src=this.value+'.gif'; odka.href=adresaa[this.value];">
<option value="1" selected>1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<a href="http://www.google.com" id="odka"><img id="ima" src="1.gif"></a>
<select onclick="ima.src=this.value+'.gif'; odka.href=adresaa[this.value];clicked=false;">
<option value="1" selected>1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>

Ozkoušej, dalším problémem mohlo být vynalezcovo vynechávání středníků na začátku, taky jsem je tam raději doplnil.
silverback
Profil
Tak bohužel - zdá se, že safari nepodporuje ani onclick Středníky to taky nejsou. Pro jistotu doplním kód formuláře, ktzerý používám, jestli nedělám něco špatně (ale jak řikám, všude jinde to funguje). Bohužel jeden z nadřízených safari používá :D ...

    <form style="text-align:left;" action="spocitej.php" method="post">
<h3>Rámy:</h3>
<select name="ramy" onclick="ima.src=this.value+'.jpg'; ">
	<option value="1">- Žádný -</option>
	<option value="2">RM - Element Team</option>
    <option value="3">Yeti - Asr Carbon</option>
    <option value="4">Yeti - Asr Alloy</option>
    <option value="5">Yeti - 575</option>
    <option value="6">Niner - JET9</option>
    <option value="7">Niner - RIP9</option>
    <option value="8">Niner - Air</option>
</select>

<img id="ima" src="0.jpg">




Skript na adresu vůbec nepoužívám, nepotřebuji, aby obrázky někam odkazovaly.
Bubák
Profil
Co ti na výše uvedeném kódu v Safari nefunguje po přepsání z onclick na onchange?
<select name="ramy" onchange="ima.src=this.value+'.jpg'; ">


Pokud to v Safari nefunguje onchange ani v tomto příkladu, máš Safari rozbité:
www.jakpsatweb.cz/priklady/select_prejdi.html
silverback
Profil
Bubák: nemění se obrázek - a je jedno jestli mám onclick nebo onchange. Ten příklad mi v Safari funguje, takze chyba musi byt nekde v mem kodu - ten je na teto strance. Jediny rozdil ktery vidim je, ze tam nemam "jalový" option. Ale tím by to být nemělo. Vážně nevím ... :(
Bubák
Profil
Mi to na mé pokusné stránce jde:
http://teststranek.kvalitne.cz/onchange-obrazek/

Jediny rozdil ktery vidim je, ze tam nemam "jalový" option
Nevím, co přesně máš ta mysli, tohle?
http://teststranek.kvalitne.cz/onchange-obrazek/index-2.html

Zkus zjistit, v čem je oproti tvé stránce rozdíl.
A nepoužívej na toto onclick, onchance je výhodnější.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0