Avatar billede bumle90 Nybegynder
01. december 2004 - 23:07 Der er 4 kommentarer

Tilføje/fjerne elementer fra selectbox

Jeg håbede nogle kunne fortælle mig kort hvordan man tilføjer/fjerner elementer i en selectbox på klientsiden via javascript?
Et lille eksempel ville ikke være af vejen :)
Avatar billede skovenborg Nybegynder
01. december 2004 - 23:22 #1
For at slette skal du sætte en af optionene lig null:
document.FORMNAVN.SELECTBOXNAVN.options[0] = null; // sletter første option

For at tilføje skal du lave et nyt options objekt:
var opt = new Option("Tekst","Value");
og sætte den ind i din selectbox:
document.FORMNAVN.SELECTBOXNAVN.options[document.FORMNAVN.SELECTBOXNAVN.length] = opt // sætter den hen for enden

Et eksempel:
<script type="text/javascript">
 
function insertOption(selbox,val,text) {
    var opt = new Option(text,val);
    selbox.options[selbox.length] = opt;
}

function removeOption(selbox) {
    if (selbox.selectedIndex > -1) {
        selbox.options[selbox.selectedIndex] = null;
    }
}
</script>

<form>
<select name="select1">
  <option value="værdi1">Options 1</option>
</select>
<input type="button" value="Slet den valgte options" onclick="removeOption(this.form.select1);" /><br />
Værdi: <input type="text" name="txtValue" /> Tekst <input type="text" name="txtText" /> <input type="button" value="Indsæt Options" onclick="insertOption(this.form.select1,this.form.txtValue.value,this.form.txtText.value);" />
</form>
Avatar billede skovenborg Nybegynder
01. december 2004 - 23:27 #2
Der er også andre måder, bla.
http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html#ID-14493106
(her kan du bruge add og remove på en almindelig selectbox, fx:
<script type="text/javascript">
 
function insertOption(selbox,val,text) {
    var opt = new Option(text,val);
    selbox.add(opt,null);
}

function removeOption(selbox) {
    if (selbox.selectedIndex > -1) {
        selbox.remove(selbox.selectedIndex);
    }
}
</script>

Er lidt mere i sammenhæng med den officielle DOM standard, men jeg mindes at den har skabt nogle problemmer - kan ikke huske om det var IE den var gal med ;-)
Avatar billede bumle90 Nybegynder
02. december 2004 - 00:32 #3
sådan :D
smid et svar sir skovenborg mange tak
Avatar billede skovenborg Nybegynder
02. december 2004 - 17:20 #4
selv tak :-)
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