Autor Zpráva
larryx
Profil
nazdar mam nieco take
<select id="sel">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
</select>

a potreboval by som javascriptom vytiahnúť value ktorá je aktuálne označená ?

document.getElementByID['sel'].value; 

toto mi nefunguje... ale keby som mal na option zadefinovane id tak to funguje... no zas je to zle, pretože to id by mal každý option rovnake

dakujem za rady
Chamurappi
Profil
Reaguji na larryxe:
toto mi nefunguje
Protože document.getElementById je metoda (funkce). Kdybys zkusil hledat, našel bys statisíce ukázek, jak se správně píše.

keby som mal na option zadefinovane id tak to funguje
S tím zápisem skriptu, který jsi předvedl, nemůže fungovat nic.
larryx
Profil
Chamurappi:
S tím zápisem skriptu, který jsi předvedl, nemůže fungovat nic.
ved preto sa pytam ako to mam zapisat ?? to je tak tazko odpovedat? radsej kritizovat ze ??
mattyZEM
Profil
larryx:
ako to mam zapisat
Pro každý option použij třeba jiné číslo u ID, například:
<option value="1" id="option1">1</option>



// Chamurappi: Lepší? Btw, nemyslel jsem to zle ;)
Chamurappi
Profil
Reaguji na larryxe:
ved preto sa pytam ako to mam zapisat ??
Napiš si do vyhledávače document.getElementById a koukni se, jak to píší ti, komu to funguje.
Kdybys neuměl hledat, můžeš se inspirovat třeba v tomto svém příspěvku.

to je tak tazko odpovedat?
Odpověděl jsem ti, že document.getElementById je funkce. Chceš-li zavolat funkci, jaké závorky použiješ?

radsej kritizovat ze ??
Ano. Piš s diakritikou, jak žádají závazná pravidla.


Reaguji na mattyZEMa:
Ani moc ne. Dávat ídéčka <option>ům kvůli zjištění, který je vybraný, je konina, proto jsem tě smazal.
mattyZEM
Profil
Chamurappi:
který je vybraný, je konina
Proč? Mám něco podobného, rád bych věděl jak by to bylo lepší.
Chamurappi
Profil
Reaguji na mattyZEMa:
Vytáhnout si ze <select>u vlastnost value (kde je vybraná hodnota) nebo selectedIndex (kde je pořadové číslo vybrané možnosti).
mattyZEM
Profil
Díky ti, pro příště budu vědět.
larryx
Profil
Chamurappi:
Odpověděl jsem ti, že document.getElementById je funkce. Chceš-li zavolat funkci, jaké závorky použiješ?
omfg, dobre som sa pomylil v zátvorkach maju tam byť normálne zátvorky, ale to nebol predmet mojej otázky ? každopádne nechápem jednej veci

<select id="sel" onchange="vypis(this.id);">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
</select>
<div id="vypis"></div>
<script type="text/javascript">
function vypis(id){
  var sel=document.getElementById(id);
  var opt=sel.options[sel.selectedIndex];
  document.getElementById('vypis').innerHTML=opt.value;
}
</script>


<script ... </script> musi byt v html tagu <body> ked to mam v <head>nefunguje mi to... koli comu ??
mattyZEM
Profil
koli comu ??
Pravděpodobně kvůli nedodržování pravidel ohledně interpunkce a diakritiky, ale teď vážně, nevím to jistě, ale zřejmě tato funkce hledá takovéto věci jen mezi značkami <body></body>...
Chamurappi
Profil
Reaguji na larryxe:
ked to mam v <head>nefunguje mi to... koli comu ??
Prohlížeče většinou někde ukazují javascriptové chyby, kterými bys měl obohatit to své „nefunguje mi to“. Zároveň bys měl dodat, v kterém prohlížeči je problém (nebo zda ve všech), abychom nemuseli hádat, a ideálně dodat odkaz na živou ukázku.

Hádám, že to je tím, že vypis je <div> a ne funkce, pokud ten <div id="vypis"> vznikne později než funkce vypis. Změň id nebo název funkce.


Reaguji na mattyZEMa:
zřejmě tato funkce hledá takovéto věci jen mezi značkami <body></body>
Uf, to je zase blábol…
Pak se nediv, že tě mažu.
mattyZEM
Profil
xD já říkal zřejmě, a ani se nedivím, jen jsem zkoušel *pardon*:)
sysel
Profil
Tak nevím, proč se všichni snaží používat komplikované postupy, ale vůbec jim nevadí, když riskují zbytečné chyby používáním identifikátorů proměnných shodných s klíčovými slovy. Myslím, že pokus by si vystačil i s:
<select id="sel" onchange="document.getElementById('vypis').innerHTML=this.value;">
a v případku, že příklad jen mírně poupravím, nepotřebuji ani id:
<select name="sel" onchange="this.nextSibling.innerHTML=this.value;">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
</select><div></div>

Fakt je, že pokud zapíšu správně nějaké funkce, tak už v náhledu je DJPW zobrazí s možností prokliknutí do nápovědy, takže již několikrát jsem skoro dopsaný post, před odesláním zrušil, protože jsem chybku našel sám. Docela se nedivím lehké ironii moderátorů, pokud si tazatelé nedají práci s hledáním chyby nejprve svépomocí. Náš dr. Klíma když po jeho přednášce zazněl dotaz studenta: "nerozuměl jsem tomu způsobu sestavení hamiltoniánu positronu", suše odpověděl: "To není dotaz, to je konstatování". Myslím, že tady není mateřská školka a když sleduji úsilí diskutujících nad opravdu složitými problémy, tak se nad příkřejší odpovědí na vlastní hloupost nepohorším. :-/
_es
Profil
larryx:
... onchange="vypis(this.id);" ...
... function vypis(id){ ...
Do funkcie môžeš predať priamo objekt elementu:
... onchange="vypis(this);" ...
... function vypis(el){
... el.innerHTML=opt.value; ...

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