21. august 2001 - 23:57Der er
5 kommentarer og 1 løsning
problem med markering første gang i en drop down menu
Jeg har et java script som opdatere en dropdown menu. Problemet er at førstegang dropdownmenuen bliver opdateret virker den første option ikke, men efter man har trykket på nogen af de andre virker det fint.
JavaScriptet ser således ud:
function updateVariant(kategori) { if (document.images) { sel = kategori.selectedIndex; if (sel == 0) { vari = variant.a0; } else if (sel == 1) { vari = variant.a1; } else { vari = new Array(); } kategori.form.variant.length = vari.length; for(i=0;i<vari.length;i++) kategori.form.variant.options[i].text = vari[i]; } else { alert(\"Din browser understøtter ikke javascript\" +\"få dig en ny browser.\"); } }
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg ville nok foretrække at flytte sætningen kategori.form.variant.length = vari.length; ned bagefter for-løkken.
function updateVariant(kategori) { if (document.images) { sel = kategori.selectedIndex; if (sel == 0) { vari = variant.a0; } else if (sel == 1) { vari = variant.a1; } else { vari = new Array(); } for(i=0;i<vari.length;i++) kategori.form.variant.options[i].text = vari[i]; kategori.form.variant.length = vari.length; } else { alert(\"Din browser understøtter ikke javascript\" +\"få dig en ny browser.\"); } };
så vi er sikre på at select-arrayet har N elementer før vi giver det længden N. Det vil nok gå godt de fleste steder, men det er noget ulogisk at sætte længden på et array med 0 elementer til N.
Hvad er det med if (document.images) ... else \"ikke javascript\"? Hvis brovseren ikke understøtter javascript kan den slet ikke test og vil aldrig komme til det else. (testen document.images fortæller om det er en tilstrækkelig avanceret browser til at den kan udskifte billeder.
hmmm, det hjælper ikke at flytte den pågældende linie, den trigger stadig ikke på første museklik på første punkt i dropdownmenuen hvilket tyder på at følgende kode af en eller anden grund ikke virker første gang:
sel = kategori.selectedIndex; if (sel == 0) { vari = variant.a0;
ok, jeg har fundet ud af fejlen. Det var ikke JavaScriptet men selvfølgelig det at når man klikker på den første option som dropdown menuen i forvejen står på aktiveres klikket ikke, men kun hvis det er en anden option end den i forvejen stod på...Naturligvis fristes man til at sige. Nå så tror jeg at det er på tide at sige mange tak ellers og godnat.
He he. Jeg nåede det med 38 sekunder tilovers :-)) takker.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.