P Prästen Medlem sedan dec. 2000 537 inlägg Frågan 4 okt. 2003 21:21 #1 tjenare
hur gör man för att lägga till ett värde i en SELECT rullgardinsmeny helt dynamiskt med javascript?
Nexus86 Medlem sedan okt. 2002 3 030 inlägg <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. :)
J Jojoxx Medlem sedan juni 2000 4 308 inlägg <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...
Nexus86 Medlem sedan okt. 2002 3 030 inlägg Behöver man verkligen plussa på length? Gör inte javascript det självt? :q
J Jojoxx Medlem sedan juni 2000 4 308 inlägg 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.
P Prästen Medlem sedan dec. 2000 537 inlägg Tack Tack, det gick snabbt å få svar härinne :)
Nexus86 Medlem sedan okt. 2002 3 030 inlägg P Prästen Medlem sedan dec. 2000 537 inlägg 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?.
Nexus86 Medlem sedan okt. 2002 3 030 inlägg function clearSelect(select) {
for (i=(select.length - 1); i >= 0; i--) {
select.options[i] = null;
}
}
Bör fungera. :)
Nexus86 Medlem sedan okt. 2002 3 030 inlägg 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. :)
P Prästen Medlem sedan dec. 2000 537 inlägg precis, såg inte det, sorry, trodde inte någon skulle hinna läsa mitt inlägg :) :)
Nexus86 Medlem sedan okt. 2002 3 030 inlägg Nexus86 Medlem sedan okt. 2002 3 030 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. :)
P Prästen Medlem sedan dec. 2000 537 inlägg jahaaaaja :) ok ok, kan man göra om det tro?
men nu var det ju 2 st, hur gör man då?
Nexus86 Medlem sedan okt. 2002 3 030 inlägg 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.