tjenare
hur gör man för att lägga till ett värde i en SELECT rullgardinsmeny helt dynamiskt med javascript?
15 svar · 317 visningar · startad av Prästen
tjenare
hur gör man för att lägga till ett värde i en SELECT rullgardinsmeny helt dynamiskt med javascript?
<script type="text/javascript">
<!--
function addOption(select, text, value) {
select.options[select.length] = new Option(text, value);
}
-->
</script>
<form name="form1">
<select name="select1"><option value="1">Option1</option></select>
<input type="button" value="Lägg till Option" onClick="addOption(this.form.elements['select1'], 'Option2', '2');">
</form>
R// Gjorde om till funktion. :)
<form>
<select name="foo"><option value="ett val">Ett val</option></select>
<input type="button" value="Lägg till option" onClick="this.form.foo.length++; this.form.foo.options[this.form.foo.options.length-1]=new Option(prompt('Text?'),prompt('Värde?'));">
</form>
Red. Lite sen...
Behöver man verkligen plussa på length? Gör inte javascript det självt? :q
Det hänger nog kvar sedan gammalt. I IE/Moz/Opera av dagens versioner funkar det hur bra som hellst utan. Jag har för mig att det var någon gammal NS-version som ville ha det så. Det börjar bli svårt att minnas varför man gör vissa saker ;) Men det är nog tämligen säker att köra din variant.
Tack Tack, det gick snabbt å få svar härinne :)
[HINT] http://www.webforum.nu/showthread.php?s=&threadid=85674&forumid=24 [/HINT] ;)
En sista fråga bara, hur tömmer man med Javascript nu det här SELECT rullgardinsmenyn, finns det någon .Clear eller nåt?.
function clearSelect(select) {
for (i=(select.length - 1); i >= 0; i--) {
select.options[i] = null;
}
}
Bör fungera. :)
Tack Tack..
Det är det den här funktionen gör. Den loopar igenom alla options och tar bort dem en efter en. :)
R// Nää. Nu har du ju ändrat dig. :)
precis, såg inte det, sorry, trodde inte någon skulle hinna läsa mitt inlägg :) :)
Hehe. Meningen var inte att du skulle acceptera det jag skrev som lösning. Det du ska acceptera som lösning är det du tycker bäst har besvarat trådens huvudfråga. :)
1. Ja man kan göra om det. Gå till inlägget som du redan accepterat som svar och ta "Acceptera ej som svar" sedan accepterar du ett nytt inlägg.
2. Ja då väljer du den du vill eller den mest praktiska och mest lättanvända lösningen.