Autor Zpráva
jakuza
Profil *
Dobrý den, chci se zeptat jak můžu vybrat automaticky pomocí javascriptu mnou definová výběr ze selectu. Mám tam dny a v javascriptu zjištuji co je za den. Pokud je pondělí, je zápis takhle:
if(den == 1){
// tady mi chybí mu říct ať vybere pondělek
}

Zjištění co je vybráno mám takhle:
(myform.den.options[myform.den.selectedIndex].value)

jak, ale udělat aby to automaticky vybral? Děkuji

<select name="den" class="input">
            <option value="">-Den-</option>
            <option value="PO">Pondělí</option>
            <option value="UT">Úterý</option>
            <option value="ST">Středa</option>
            <option value="CT">Čtvrtek</option>
            <option value="PA">Pátek</option>
          </select>



Napadl mě tento zápis: if(denJakoCislo == 1){ (myform.den.options[myform.den.PO].selected);}
Samozřejmě nefunkční :-(
Radek9
Profil
jakuza:
Třeba nějak takto:
var values = { 1: "PO", 2: "UT", 3: "ST", 4: "CT", 5: "PA" };
var denJakoCislo = 1;

myform.den.value = values[denJakoCislo] || "";

Kdybys měl ve value u option přímo to číslo, bylo by to ještě jednodušší.
jakuza
Profil *
Jsem asi tupej, ale nikde tam nevidím jak mu mám říct, že ten den má vybrat :-(
Radek9
Profil
jakuza:
Na druhém řádku je ta tvoje proměnná, kde máš číslo dne. Čtvrtý řádek potom nastavuje hodnotu selectu, čímž se automaticky vybere i příslušný option.
jakuza
Profil *
Nic nevybere. Pořád por refreshi je ve výběru defaultní
Radek9
Profil
jakuza:
Ukaž celý kód, mně to funguje.
jakuza
Profil *
<script>
        var values = { 1: "PO", 2: "UT", 3: "ST", 4: "CT", 5: "PA" };
var denJakoCislo = 1;
 
document.myform.den.value = values[denJakoCislo] || "";
</script>
Radek9
Profil
jakuza:
Ujisti se, že ten kód je až pod tím formulářem a že správně přistupuješ k objektu formuláře. Předtím jsi tam měl jen myform, já původně přistupoval přes document.myform (což jsem potom upravil).
jakuza
Profil *
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script> 
       var values = { 1: "PO", 2: "UT", 3: "ST", 4: "CT", 5: "PA" };
      var denJakoCislo = 1;
      document.myform.den.value = values[denJakoCislo] || "";
    </script>
</head>
<body>

<form action="#" name="myform" onsubmit="return false" method="post">
          <p><select name="den" class="input">
            <option value="">-Den-</option>
            <option value="PO">Pondělí</option>
            <option value="UT">Úterý</option>
            <option value="ST">Středa</option>
            <option value="CT">Čtvrtek</option>
            <option value="PA">Pátek</option>
          </select></p>



Už to maká. Ten kod jsem mel v headeru. Nevěděl jsem, že má být dole. Moc děkuju
_es
Profil
jakuza:
Napadl mě tento zápis: if(denJakoCislo == 1){ (myform.den.options[myform.den.PO].selected);}
myform.den.options[poradovéČíslo].selected=true;
jakuza
Profil *
Děkuji všem moc. Pracuje to přesně jak jsem očekával. Sice jsem si troufale myslel, že na to přijdu sám, ale člověk se stále učí.
petr
Profil *
Value u každého optionu je v tomto případě jen práce navíc. Stačí jen:
var day = document.myform.den.selectedIndex;
if (day == 1 /*Pondělí*/) {
  ...
}
if (day == 2 /*Úterý*/) {
  ...
}
if (day == 3 /*Středa*/) {
  ...
}
if (day == 4 /*Čtvrtek*/) {
  ...
}
if (day == 5 /*Pátek*/) {
  ...
}
Pozn.: Funkce selectedIndex sice počítá od nuly (1. položka = 0), ale vzhledem k tomu, že tam máš jako první položku „-Den-“, tak je pondělí až 2. položka (index 1).

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