Autor Zpráva
j_hajsl
Profil
Zdravim,

potřebuji změnit hodnotu select, tedy přesněji řečeno označit určitou hodnotu jinak než vybráním přímo v tom seznamu. Ale nikoli podle SelectedIndex, to je hodnota pořadí v selectu, ale ja to potřebuji podle hodnoty value v options ... jestli mi rozumite

<select>
<option value="hodnota">text</option>
</select>

potřebuji vybrat v tom seznamu buď podle "hodnoty" nebo "textu" ...
Dero
Profil
Já bych to asi dělal nějak takto:

<select id="sel">
<option value="1">jedna</option>
<option value="2">dva</option>
<option value="3">tri</option>
</select>
<script>
sel = document.getElementById('sel');
val = 3;

for (i=1; i <= sel.options.length; i++) {
if (sel.options[i].value == val) sel.selectedIndex = i;
}
</script>
j_hajsl
Profil
Paráda díky. Akorát tam mělo být


for (i=1; i < sel.options.length; i++) 
habendorf
Profil
No já bych řekl že správně je

for (i=0; i < sel.options.length; i++)
Dero
Profil
j_hajsl: Ne, to je správně. Spíš si oprav toto:

for (i=0; i < sel.options.length; i++)


Psal jsem to narychlo, omlouvám se.
habendorf
Profil
Dero: To je přece fuk, ne?

Buď
for (i=0; i < sel.options.length; i++)
if (sel.options[i].value == val) sel.selectedIndex = i;

nebo

for (i=1; i <= sel.options.length; i++)
if (sel.options[i-1].value == val) sel.selectedIndex = i-1;

To je přece stejný...
habendorf
Profil
Tak teď mě Dero poněkud mateš, jak měníš příspěvky...
Dero
Profil
habendorf: Asi nejen Tebe, po odeslání jsem si uvědomil, že to je naprosto to samé a příspěvek jsem upravil. Omlouvám se, refreshnul jsi v těch pár sekundách, kdy tu visel ten starý (za který bych se musel stydět, kdyby tu zůstal :o).
habendorf
Profil
za který bych se musel stydět, kdyby tu zůstal

A já jsem ho jak na potvoru výše zvěčnil, viď :o)
Elegantní to sice nebylo, ale podle mě to fungovalo stejně dobře.
Dero
Profil
habendorf: A já jsem ho jak na potvoru výše zvěčnil, viď :o)

Tak už o tom nemluvme, ještě si toho nekdo všimne. :o)

Nebylo to ani elegantní, nebylo to nijaké - byl to prostě jen zbytečně složitý zápis. A takové přece z duše nenávidíme, bubu. Ehm.

Dobrou, habendorfe. :o)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0