Avatar billede dontron Nybegynder
10. juni 1999 - 23:39 Der er 8 kommentarer og
1 løsning

Uha uha - tilføj <OPTION> med javascript?

Ja ok, jeg er nok for super optimistisk her, men det ka jo ikke skade at spørge eksperterne :-)

Jeg har sådan en her:

<SELECT name=mySelect>
  <OPTION value="Helena">Helena</OPTIONS>
  <OPTION value="Christensen">Christensen</OPTIONS>
</SELECT>

Jeg kunne godt tænke mig, med javascript at ændre både text og value i mine <OPTION>

Så jeg gør sådan her:

document.myForm.mySelect.options[0].value = ''Cindy'';
document.myForm.mySelect.options[0].text = ''Cindy'';
document.myForm.mySelect.options[1].value = ''Crawford'';
document.myForm.mySelect.options[1].text = ''Crawford'';

Og det virker jo helt fint.

Men nu er det sådan at jeg gerne vil tilføje endnu en <option>.

document.myForm.mySelect.options[2].value = ''GoSild'';
document.myForm.mySelect.options[2].text = ''GoSild'';

Og det giver så fejlen:

document.myForm.mySelect.options[..] is not an object.

Og det har den jo i grunden ganske ret i.

Spørgsmålet lyder så:
Er det muligt at oprette flere <OPTION> med javascript UDEN at smide en masse blanke <OPTION value=""></OPTION> ned i HTML (eller med document.write)

Jeg så noget med:
mySelect.addItem("Tekst")
men kan ikke rigtigt få den til at virke i NetScape.



Avatar billede jespere Nybegynder
11. juni 1999 - 00:36 #1
Du skal bruge Option(x, y)

Hvor x = value og y = teksten

Ex:
myForm.mySelect.options[0] = Option("Cindy", "Go Sild");

mvh
Jesper
Avatar billede jespere Nybegynder
11. juni 1999 - 00:44 #2
Avatar billede chruker Nybegynder
11. juni 1999 - 01:41 #3
Er det ikke mere fordi der kun er to option felter i html koden ?
Avatar billede dontron Nybegynder
11. juni 1999 - 01:43 #4
Well den der
myForm.mySelect.options[0] = Option("Cindy", "Go Sild");
er god nok til at ændre de eksisterende Options.
Men den vil ikke oprette nye desværre
(ku heller ikke rigtigt finde noget på netscapes hjælp ang. options)

Avatar billede dontron Nybegynder
11. juni 1999 - 01:44 #5
Jo chunker - der er kun 2 option felter
mit problem er at jeg ikke ved hvormange der vil komme
så det ku være rart med javascript at oprette flere (og måske kunne fjerne dem igen endda :-)
Avatar billede chruker Nybegynder
11. juni 1999 - 02:00 #6
Følgende har jeg kopieret fra Netscape documentation:


<SCRIPT>function populate(inForm) {  colorArray = new Array("Red", "Blue", "Yellow", "Green")
  var option0 = new Option("Red", "color_red")  var option1 = new Option("Blue", "color_blue")  var option2 = new Option("Yellow", "color_yellow")  var option3 = new Option("Green", "color_green")
  for (var i=0; i < 4; i++) {      eval("inForm.selectTest.options[i]=option" + i)      if (i==0) {        inForm.selectTest.options[i].selected=true      }  }
  history.go(0)}</SCRIPT>
<H3>Select Option() constructor</H3><FORM><SELECT NAME="selectTest"></SELECT><P><INPUT TYPE="button" VALUE="Populate Select List" onClick="populate(this.form)"><P></FORM>
<HR><H3>Select-Multiple Option() constructor</H3><FORM><SELECT NAME="selectTest" multiple></SELECT><P><INPUT TYPE="button" VALUE="Populate Select List" onClick="populate(this.form)"></FORM>


Det skulle putte flere options i sådan en pull-down menu. Hvordan man fjerne dem ved jeg ikke lige helt.
Avatar billede chruker Nybegynder
11. juni 1999 - 02:02 #7
Hmm. Jeg kan se at alle (manglende)linebreaks fra teksten også blev kopieret :-(

Sorry
Avatar billede jespere Nybegynder
11. juni 1999 - 02:20 #8
Mht myForm.mySelect.options[0] = Option("Cindy", "Go Sild");

Hvis du erstatter [0] med [i] som du kan sætte til antallet af options+1
så kører den faktisk.
Avatar billede dontron Nybegynder
11. juni 1999 - 02:37 #9
Tjaa den virker da lidt
dvs. den fylder SELECT'en ud med Options, hvorefter den sletter dem igen når den kommer til history.go(0)
Og fjerner man de, så smider den kun noget i første Option.
Men der er lidt jeg kan arbejde videre på :-)




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