Avatar billede 0verwrite Nybegynder
21. november 2001 - 00:11 Der er 5 kommentarer og
1 løsning

slet <option>

arhg vil sku lige se om andre ik ku gøre det her bedre end mig...

<select name=\"selbox\">
<option value=\"245\">morten
<option value=\"468\">peter
<option value=\"199\">hans
</select>

hvordan sletter jeg en <option> hvor value=\"X\" i javascript?
Avatar billede jakoba Nybegynder
21. november 2001 - 00:24 #1

function sletOption ( selObj, val ) {
    for (var i=0; i<selObj.options.length; i++ )
        if ( selObj.options[i].value == val ) {
            selObj.options[i] = \"\";
            alert( \"Option fjernet\" );
            break;
        }
    if ( i >= selObj.options.length ) alert( \"Fandt ikke \'\"+val+\"\'\" );
}; //end sletOption ( Select object, string )

// kaldes med fx  sletOption( document.formnavn.selnavn, 123 );

mvh JakobA
Avatar billede 0verwrite Nybegynder
21. november 2001 - 00:50 #2
document.formnavn.selectnavn.options[document.formnavn.selectnavn.options.length] = new Option(navn,værdi);

Af en eller anden grund virker det ikke når jeg har oprettet det via \"new option\" - findes der en måde at slette sådan en på?
Avatar billede jakoba Nybegynder
21. november 2001 - 01:20 #3
Den \'sikre\' måde at slette er at flytte den option der skal slettes ned nederst i listen og så korte listen med en:
    document.formnavn.selectnavn.options.length -= 1;

Prøv at kikke i kilden her, der gør jeg det på den måde: http://hjem.get2net.dk/Jakob.Aggernaes/temp/exp66097.html

mvh JakobA
Avatar billede 0verwrite Nybegynder
21. november 2001 - 01:29 #4
hmm jeg forklare lige hvad det er jeg egentlig mangler...
jeg skal hvergang en bruger logger på tilføje brugernavnet til <select> når man via den select vælger en bruger skriver man privat med personen...
hvordan kan det laves så man tilføjer og kan trække enten brugernavnet eller brugerid\'et ud?
Avatar billede jakoba Nybegynder
21. november 2001 - 02:04 #5
Funktionerne på eksempelsiden +

function findOptionValue ( selObj, val ) {
    for (var i=0; i<selObj.options.length; i++ )
        if ( selObj.options[i].value == val ) {
            return i
        }
    return -1
}; //end findOptionValue ( Select object, string )

function findOptionText ( selObj, txt ) {
    for (var i=0; i<selObj.options.length; i++ )
        if ( selObj.options[i].text == txt ) {
          return i
        }
    return -1
}; //end findOptionValue ( Select object, string )

function sletOptionValue ( frm, val )
    frm.selectnavn.selectedIndex = findOptionValue( frm.selectnavn, val );
    if ( frm.selectnavn.selectedIndex>=0 ) fjern( frm );
}; //end sletOptionValue ( form objekt, string );

function sletOptionText ( frm, val )
    frm.selectnavn.selectedIndex = findOptionText( frm.selectnavn, txt );
    if ( frm.selectnavn.selectedIndex>=0 ) fjern( frm );
}; //end sletOptionText ( form objekt, string );

på min eksempelside hedder selectboksen \'model\' det skal så ændres til dit selectnavn

mvh JakobA
Avatar billede 0verwrite Nybegynder
21. november 2001 - 22:48 #6
tak for et kanont godt svar!
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