Avatar billede hoppe11 Nybegynder
29. december 2007 - 20:17 Der er 11 kommentarer og
1 løsning

slette options i select

hvordan er det muligt at slette alle options i en select?
Avatar billede hoppe11 Nybegynder
29. december 2007 - 22:47 #1
function delete_child(elm, tag_name)
{
    var elms = elm.childNodes;
    for(i=0; i<elms.length; i++)
    {
        if(elms[i].tagName.toLowerCase() == tag_name) elm.removeChild(elms[i]);
    }
}

det er som om den ikke sletter alle childNodes, men man skal køre funktionen et par gange før den sletter alle?
Avatar billede roenving Novice
30. december 2007 - 12:17 #2
Tæl baglæns !-)

-- eller benyt en while-løkke:

while(elm.firstChild)
  elm.removeChild(elm.firstChild);
Avatar billede hoppe11 Nybegynder
30. december 2007 - 13:01 #3
men hvad nu hvis jeg kun vil slette hvor tagName == 'span' ?
Avatar billede w13 Novice
30. december 2007 - 13:03 #4
while(elm.firstChild)
  elm.removeChild(elm.getElementsByTagName("span")[0]);
Avatar billede hoppe11 Nybegynder
30. december 2007 - 13:07 #5
function remove_child(elm, tag_name)
{
    var elms = elm.childNodes;
    for(var i=elms.length; i>0; i--)
    {
        if(elms[i].tagName.toLowerCase() == tag_name.toLowerCase()) elm.removeChild(elms[i]);
    }
}

her giver tagName null
Avatar billede roenving Novice
30. december 2007 - 13:10 #6
Du spurgte om options i en select, og de kan jo ikke være spans (der må _kun_ være options i en sådan !-)

-- og hvis du har en node, hvor tagName er null, har du højst sandsynligt fat i en tekst-node, f.eks. et linjeskift ...
Avatar billede hoppe11 Nybegynder
30. december 2007 - 13:12 #7
nej, nu var det bare et eksempel :) jeg burde nok have valgt option, men nu er det ikke kun der den skal bruges :)
Avatar billede roenving Novice
30. december 2007 - 13:25 #8
Så prøv f.eks.

if(elms[i].nodeType == 3 && elms[i].tagName ...
Avatar billede hoppe11 Nybegynder
08. januar 2008 - 23:10 #9
smid et svar roenving :)
Avatar billede roenving Novice
09. januar 2008 - 16:29 #10
Velbekomme '-)
Avatar billede roenving Novice
19. juli 2009 - 06:37 #11
-- og tak for point ;~}
Avatar billede olebole Juniormester
22. juli 2009 - 13:10 #12
<ole>

- og den nemme cowboy metode:

    mySelect.length = 0;

/mvh
</bole>
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