25. oktober 2001 - 12:50
Der er
8 kommentarer og 1 løsning
Overføre værdier fra listbox til tekstfelt
Hej Jeg har en listbox (multiple choice) og vil gerne have overført værdierne fra de valgte muligheder til et tekstfelt. Det er jo nemt nok, hvis det bare drejer sig om den seneste valgte værdi (som forneden), men hvad hvis jeg gerne vil have alle værdier over. Hvad gør jeg så? Jeg har indsat et tekstfelt, som det skal se ud, hvis f.eks. 1 & 3 er valgt. <html> <head> </head> <body bgcolor=\"#FFFFFF\" text=\"#000000\"> <form name=\"form1\" method=\"post\" action=\"\"> <select name=\"select\" multiple size=\"10\" onChange=\"document.form1.textfield.value = this.options[this.selectedIndex].value\"> <option value=\"Valg1\">1</option> <option value=\"Valg2\">2</option> <option value=\"Valg3\">3</option> <option value=\"Valg4\">4</option> <option value=\"Valg5\">5</option> </select> <textarea name=\"textfield\" rows=\"10\"></textarea> <textarea name=\"textfield2\" rows=\"10\">1: Valg1 3: Valg3 </textarea> </form> </body> </html> M.v.h. Søren
Annonceindlæg fra HP
25. oktober 2001 - 13:16
#1
<html> <head> <SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\"> <!-- function transferSel( obj ){ var len = obj.options.length; var txt = \"\"; for( i = 0; i < len; i++ ){ if( obj.options[i].selected ){ txt += obj.options[i].value + \" \"; } } document.form1.textfield.value = txt; } //--> </SCRIPT> </head> <body bgcolor=\"#FFFFFF\" text=\"#000000\"> <form name=\"form1\" method=\"post\" action=\"\"> <select name=\"select\" multiple size=\"10\" onChange=\"transferSel( this );\"> <option value=\"Valg1\">1</option> <option value=\"Valg2\">2</option> <option value=\"Valg3\">3</option> <option value=\"Valg4\">4</option> <option value=\"Valg5\">5</option> </select> <textarea name=\"textfield\" rows=\"10\"></textarea> <textarea name=\"textfield2\" rows=\"10\">1: Valg1 3: Valg3 </textarea> </form> </body> </html>
25. oktober 2001 - 13:23
#2
Næsten rigtigt, men er der mulighed for at vise den label, som værdierne kommer fra (som i det tekstfelt jeg har inkluderet til illustration), f.eks.: 1:Valg1 3:Valg3 M.v.h. Søren
25. oktober 2001 - 13:25
#3
så skal du bare bytte denne linje: txt += obj.options[i].value + \" \"; med denne: txt += i + \": \" + obj.options[i].value + \"\\n\"; /nute
25. oktober 2001 - 13:30
#4
Var ikke helt klar nok. Det er ikke sikkert, at labels kommer i nummerorder, så derfor skal scriptet på en eller anden måde læse labels og skrive den. Det kunne godt være sådan her f.eks. 1: Valg1 To: Valg2 Kan det lade sig gøre?
25. oktober 2001 - 13:33
#5
hva mener du med \'labels\' ? er det \'name\' attributten på en option du vil fange ?? /nute
25. oktober 2001 - 13:37
#6
Det er den label som står imellem option-tags. <option value=\"1\">Et</option> <option value=\"To\">2</option> Hvis disse to var valgt skulle der stå følgende i textfeltet. 1: Et To: 2 Sætter lige et par points mere på for din tålmodighed
25. oktober 2001 - 13:41
#7
ahhh...så bytter du igjen denne linje: txt += i + \": \" + obj.options[i].value + \"\\n\"; ut med: txt += obj.options[i].value + \": \" + obj.options[i].text + \"\\n\"; /nute
25. oktober 2001 - 13:43
#8
Exactly! Tak for hjælpen.
25. oktober 2001 - 14:00
#9
anytime :-)
Vi tilbyder markedets bedste kurser inden for webudvikling