Autor Zpráva
loping
Profil
ahoj, mám problém (asi) nekompatibility prohlížečů .. v IE 8 OK, v google chrome a mozille nefunguje ...
....
potřebuji vytáhnout textový řetězec (HREF) z jednotlivých polí selectu

  <select size="4" id="kraj_sel" onchange="vypis_okresu(this)"> 
  <option value=1 id=3 href="url(obrazky/KV.png)">Karlovarský kraj</option>
  <option value=4 id=7 href="url(obrazky/US.png)">Ústecký kraj</option>
  <option value=11 id=7 href="url(obrazky/PLZ.png)">Plzeňský kraj</option>
  <option value=18 id=12 href="url(obrazky/STR.png)">Středočeský kraj</option>
  <option value=30 id=1 href="url(obrazky/PR.png)">Hlavní město Praha</option>
  <option value=31 id=4 href="url(obrazky/LI.png)">Liberecký kraj</option>
  <option value=35 id=5 href="url(obrazky/HR.png)">Královéhradecký kraj</option>
  <option value=40 id=7 href="url(obrazky/JC.png)">Jihočeský kraj</option>
  <option value=47 id=5 href="url(obrazky/VYS.png)">Kraj Vysočina</option>
  <option value=52 id=4 href="url(obrazky/PA.png)">Pardubický kraj</option>
  <option value=56 id=7 href="url(obrazky/JM.png)">Jihomoravský kraj</option>
  <option value=63 id=5 href="url(obrazky/OL.png)">Olomoucký kraj</option>
  <option value=68 id=4 href="url(obrazky/ZL.png)">Zlínský kraj</option>
  <option value=72 id=6 href="url(obrazky/MSK.png)">Moravskoslezský kraj</option>
  </select>


function vypis_okresu(cislo_okr) {  

    var kraj_id = document.getElementById('kraj_sel');
    var kraj_adresa = kraj_id.options[kraj_id.selectedIndex].href;    //vrati mi cestu k obrazku kraje (v IE funguje; GCH, MOZ nefunguje)
//kdyz misto ".href" zkusim ".value" ci ".id" .. vse se mi udela spravne .. viz test nize alertem
    alert(kraj_id.options[kraj_id.selectedIndex].href);
}

....
neví někdo čím to může být??
Děkuji
_es
Profil
loping:
Nedávaj rovnaké id odlišným elementom.
Element option nemá „normálne“ atribút href - viď príbuzné vlákno reference to undefined property (jak se mu vyhnout)?.
loping
Profil
_es:
pravdou je, že já využívám atributy "value", "id" a "href" pouze jako nosiče nějakých hodnot .. jak se dané atributy budou jmenovat je mi úplně jedno .. rozumím tvé odpovědi, ale potom bohužel nevím, jak udělat v optionu tři atributy v kterých budu mít své informace
peta
Profil
Treba to oddelit strednikem?
<option value=68;4;obrazky/ZL.png">Zlínský kraj</option>
alert(x.value.split(';'));

Nebo udelat js pole?
pole = {
68: [4,'obrazky/ZL.png']
}
a = x.value * 1;
alert([a, pole[a]]);

Je dobre si svoje atributy pojmenovat se stejnym prefixem, jak to delaji editory, treba kupu-id, kupu-href. id je id a je jedinecne, nemuzes pouzit na dvou mistech id=4 a id=4. A koukam, ze v tom odkazu dokonce es zminuje lepsi prefix data-.
Gogo_v
Profil
Potřeboval jsem kdysi taky tři hodnoty ze selectu použil jsem na to label a fungovalo to ve vsech prohlizecich ...
<select>
 <select size="4" id="kraj_sel" onchange="vypis_okresu(this)"> 
  <option value=1 id=3 label="url(obrazky/KV.png)">Karlovarský kraj</option>
  <option value=4 id=7 label="url(obrazky/US.png)">Ústecký kraj</option>
...
</select>

var selectmenu=document.getElementById('kraj_sel');
var chosenoption = selectmenu.options[selectmenu.selectedIndex] 
 alert (chosenoption.label)

Třeba ti to pomůže
loping
Profil
_es: díky, máš pravdu, že to asi není správné .. vyřeším to ..

peta: díky, dobré řešení .. zkoušel jsem prozatím velmi rychle a vypadá to, že to bude fungovat

Gogo_v: zkoušel jsem label (to by bylo pro můj současný kod nejrychleji upravitelné), nicméně když to napíšu do labelu, tak se mi ona cesta k obrázku propíše i do optionu (tj. nahrají do "Karlovarský kraj")

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