Avatar billede riversen Nybegynder
23. januar 2007 - 13:11 Der er 9 kommentarer og
1 løsning

problem med <select> og <options>

Hvorfor virker dette ikke ?

        <script language="javascript1.5" type="text/javascript">
            function init_selects()
            {
                arrsælgere = new Array( new Option( "Sælger1", 1 ), new Option( "Sælger2", 2 ) );
               
                document.forms['formular'].saelgere.options = arrsælgere;
            }
        </script>


Jeg har tjekket at "document.forms['formular'].saelgere.options" er korrekt. Jeg får fejlen "Ikke implementeret" i sidste linie i funktionen
Avatar billede psykochicken Nybegynder
23. januar 2007 - 16:41 #1
Jeg tror ikke det er så godt at bruge æ i javascript ;o)

/psc
Avatar billede roenving Novice
23. januar 2007 - 16:54 #2
-- men det er nok ikke problemet her, selvom jeg stærkt vil fraråde det ...

-- jeg vil tro, at javascriptet ser arrayet som et objekt og ikke som et array af options, og derfor ikke kan sætte det ...

-- i øvrigt siger min reference, at selve options-arrayet er ReadOnly, kun nogle properties er Read/Write, f.eks. enkelt-options properties, så du må nok igennem en for-løkke for at sætte dem !-)

F.eks.
              for(i=0,im=arrsaelgere.length;im>i;i++)
                document.forms['formular'].saelgere.options[i] = arrsaelgere[i];
Avatar billede riversen Nybegynder
24. januar 2007 - 06:16 #3
OK, det må jeg gøre så... takker...
Avatar billede riversen Nybegynder
24. januar 2007 - 06:16 #4
husk at svare
Avatar billede riversen Nybegynder
24. januar 2007 - 08:05 #5
det fungerer i hvert fald fint :)
Avatar billede riversen Nybegynder
24. januar 2007 - 08:39 #6
basalt javascript spørgsmål er jeg sikker på...

hvorfor virker                     var option = document.forms['formular'].saelgere.options[index];
                    adminlength = document.forms['formular2'].admins.options.length;
                    document.forms['formular2'].admins.options[adminlength] = new Option( option.text, option.value );

når

                    var option = document.forms['formular'].saelgere.options[index];
                    adminlength = document.forms['formular2'].admins.options.length;
                    document.forms['formular2'].admins.options[adminlength] = option;

ikke virker. Går ud fra det er noget med reference til objekter etc. Er det måden at gøre det på så ?
Avatar billede roenving Novice
24. januar 2007 - 21:26 #7
variablen option er jo et konkret objekt, der i forvejen findes, så du skal vel bare klone det:

document.forms['formular2'].admins.options[adminlength] = option.cloneNode(true);

-- els velbekomme '-)
Avatar billede riversen Nybegynder
25. januar 2007 - 06:32 #8
OK... det er også det jeg i princippet gør så når det virker... takker!
Avatar billede roenving Novice
26. januar 2007 - 06:21 #9
-- og tak for point ;~}
Avatar billede riversen Nybegynder
26. januar 2007 - 17:20 #10
velbekom mester ;)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester