Hirdetés

Új hozzászólás Aktív témák

  • Sk8erPeter
    nagyúr

    sziasztok!

    most kezdtem nemrégiben foglalkozni javascript-el és lenne egy rövid kérdésem.
    van egy táblázatom, ahol vannak legördülő menük és szeretném, hogyha kiválasztom az egyik legördülő menü [1] opcióját, akkor a következő legördülő menü nem lenne elérhető.
    két lehetőséget is kipróbáltam, de valamiért nem működik

    az egyik:
    function select15(ref) {
    switch (ref.selectedIndex) {
    case 0: s[16].disabled=false;
    break;
    case 1: s[16].disabled=true;
    break;
    case 2: s[16].disabled=false;
    break;
    case 3: s[16].disabled=false;
    break;
    case 4: s[16].disabled=false;
    break;
    }
    magas();
    return;
    }

    a másik:

    function select15(ref) {
    if (ref.selectedIndex==1) {
    s[16].disabled=true;
    s[16].selectedIndex=0;
    } else {
    s[16].disabled=false;
    }
    magas();
    return;
    }

    html:
    <select id="sel15" name="" onChange="magas();">
    <option value="0" selected>1</option>
    <option value="1">2</option>
    <option value="2">3</option>
    <option value="3">4</option>
    <option value="4">5</option>
    </select>
    <select id="sel16" name="" onChange="magas();">
    <option value="0" selected>1</option>
    <option value="1">2</option>
    </select>

    van valami tippetek, hogy mit ronthattam el?
    köszi a segítséget!

    "van valami tippetek, hogy mit ronthattam el?"
    Hát elég sok mindent.
    - nem raktad fel a kódodat jsFiddle-re, hogy könnyebben és gyorsabban tudjuk debuggolni :D
    - kezdjük ott, hogy a select15() és a magas() nem túl beszédes nevek, egy év múlva esélyes, hogy fogalmad sem lesz róla a kód megnézése nélkül, hogy az a két függvény mit csinál. Kerülendő. Inkább legyenek jó hosszú változó- és függvény-/metódusneveid, mint hogy később nehézkes legyen rájönni, mi a feladatuk (ahogy az a,b,c,s, x,y,z és hasonló nevek is kerülendők).
    - onChange="magas();" --> ezzel tehát azt mondtad, hogy a select listából való válogatás során, ha történik bármi változás, akkor a magas() függvény hívódjon meg; a select15() egyáltalán nem hívódik meg, szóval azt hiába is várod.
    - nem tudjuk, mi van a magas() függvényedben, de a disabled-re állítás amúgy sem történik meg, mivel a select15() nem hívódik meg
    - mi a frász az az s[16]? :D Egyáltalán hol van itt az az s tömb? Mondjuk feltételezem, azt gondoltad, hogy így eléred a következő select elemet, aminek sel16 az id-je, de így nem fog menni. Vannak ilyenek, mint a document.getElementById, nextElementSibling, children, és így tovább.
    - na, egyelőre elég infó.

Új hozzászólás Aktív témák