Autor Zpráva
gregi
Profil *
Ahoj, potřerboval bych poradit. Mám tento kód:
<select name="mapa" class="mapa" onchange="document.getElementById('img_mapa').src = this.options[this.selectedIndex].value;">
 <option value="/images/maps/auto.jpg">Auto</option>
 <option value="/images/maps/tramvaj.jpg">Tramvaj</option>
</select>

Vše funguje ok. Jenže já bych si potřeboval přes value předávat hodnotu ID.
Takže abych měl:
<option value="1">Auto</option>
<option value="2">Tramvaj</option>
Ale aby se mi ten obrázek dál měnil. Dá se ta proměnná toho obrázku předávat přes javascript nějak jinak? Díky
Chamurappi
Profil
Reaguji na gregiho:
Můžeš si vymyslet vlastní atribut a číst ji z něj:
<select name="mapa" class="mapa" onchange="document.getElementById('img_mapa').src = this.options[this.selectedIndex].getAttribute('mapa');">
 <option value="1" mapa="/images/maps/auto.jpg">Auto</option>
 <option value="2" mapa="/images/maps/tramvaj.jpg">Tramvaj</option>
</select>
Nebo použít v JS pole s adresami a lovit z něj prvek podle indexu přečteného z value.
sysel
Profil
Tak jak pravil Chamurappi to je zcela javascriptové a mělo by to fungovat díky toleranci browserů k uživatelem definovaným atributům. Nicméně neopomněl bych ani možnost definovat si pole řetězcových proměnných a vybírat z nich podle vybrané value <select>u. Čili něco jako:

<script>
...
mapa[0]="/images/maps/auto.jpg";
mapa[1]="/images/maps/tramvaj.jpg";
...
</script>

<select ...        onchange="document.getElementById('img_mapa').src = mapa[this.value];">
 <option value="0">Auto</option>
 <option value="1">Tramvaj </option>


nebo tak něco ...

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: