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

  • Male

    nagyúr

    Remélem tudtok segíteni... előzetesen: egyáltalán nem értek a JavaScripthez, a w3cschoolról szedtem le az egyik mintát, azt írtam át kicsit, hogy nekem jó legyen.

    Amit csinálok: egy selectnél ha kiválaszt valamit a felhasználó, akkor mellette megjelenik a másik select a kiválasztottnak megfelelően, aztán ha ott is választ, akkor a harmadik. Ehhez a select tagnél az "onchange"-et használom, ez hívja meg a scriptet. Ez alapvetően működik is szépen, viszont előfordul, hogy eleve úgy kell kitennem az oldalt, hogy már mindhárom select látszik és ki is van választva valami. Naívan azt hittem, hogy ilyenkor egyszerűen meghívom kétszer a scripetem, ahogy az onchange tenné, és kész is.. de sajnos nem megy, mindig csak a másodiknak az eredménye jelenik meg (ha felcserélem, akkor is a második működik).

    Mi lehet a gond? Nem lehet kétszer meghívni ugyan azt a függvényt???

    Tehát ezt csinálom amiből valamiért csak a második jelenik meg az oldalon:

    <script type="text/javascript">
    showSelects('3','fo','4','kepes4_al','3');
    showSelects('3','al','4','kepes4_szint','3');
    </script>

    A 4 paraméter:
    - Mi van az adott selectben kiválasztva éppen
    - Al vagy fő kategória az adott select
    - Hányadik select blokk
    - A span id-je, ahová majd teszi a kimenetet (vagyis a köv. selectet)
    - A következő selectben mi van előre kiválasztva

    A scriptem pedig:

    <script type="text/javascript">

    function showSelects(kivalasztott,mi,sorszam,hova,kov_preselect)
    {
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById(hova).innerHTML=xmlhttp.responseText;
    }
    }
    xmlhttp.open("GET","adataim_2_selectekhez.php?kivalasztott="+kivalasztott+"&mi="+mi+"&sorszam="+sorszam+"&preselect="+kov_preselect,true);
    xmlhttp.send();
    }

    </script>

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

Hirdetés