[JAVASCRIPT] Waarde van een option, maar ook wat men ziet

Pagina: 1
Acties:

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Ik heb een <option> en die kan er als volgt uitzien:

<option value="waarde">Wat je ziet</option>

Nu wil ik met JavaScript "Wat je ziet" tevoorschijn toveren.

Ik kan wel met document.formulier.selectnaam.options[document.formulier.selectedIndex].value de waarde krijgen, maar hoe krijg ik die andere tekst?

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Pfff, dat het zo makkelijk was, ik kon gewoon innerHTML gebruiken. _o_

Of is dat weer zoiets dat wel werkt, maar waarvoor je beter iets anders kunt gebruiken?

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 19:31
.text?
.innerHtml?
.innerText?

[ Voor 68% gewijzigd door sig69 op 15-09-2006 12:38 ]

Roomba E5 te koop


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 19:39

crisp

Devver

Pixelated

.text of via de HTML DOM: option.firstChild.nodeValue
innerHTML is echt te grof geschut hiervoor.

sig69: innerText is net als innerHTML IE-propriety maar wordt itt innerHTML niet zo breed ondersteund.

[ Voor 35% gewijzigd door crisp op 15-09-2006 12:41 ]

Intentionally left blank


  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
Of is dat weer zoiets dat wel werkt, maar waarvoor je beter iets anders kunt gebruiken?
Ja, je zou eens naar het DOM kunnen kijken ;)

March of the Eagles


  • Tanuki
  • Registratie: Januari 2005
  • Niet online
crisp schreef op vrijdag 15 september 2006 @ 12:40:
.text of via de HTML DOM: option.firstChild.nodeValue
innerHTML is echt te grof geschut hiervoor.

sig69: innerText is net als innerHTML IE-propriety maar wordt itt innerHTML niet zo breed ondersteund.
Maar jij zegt hier dat ik firstChild moet gebruiken, ik wil echter de value èn de tekst die zichtbaar is voor de geselecteerde option.

Ik ga in ieder geval even Googlen op dat nodeValue enzo. :)

Bedankt.

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 19:31
crisp schreef op vrijdag 15 september 2006 @ 12:40:
sig69: innerText is net als innerHTML IE-propriety maar wordt itt innerHTML niet zo breed ondersteund.
Dat kan, ik gooide er maar wat dingen uit die ik nog vaag van vroeger wist.. :)

Roomba E5 te koop


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 19:39

crisp

Devver

Pixelated

l0c4lh0st schreef op vrijdag 15 september 2006 @ 12:43:
[...]

Maar jij zegt hier dat ik firstChild moet gebruiken, ik wil echter de value èn de tekst die zichtbaar is voor de geselecteerde option.

Ik ga in ieder geval even Googlen op dat nodeValue enzo. :)

Bedankt.
Ja, in de HTML DOM is de tekst een textNode die een child is van je option Element, maar m.i. kan je hier beter gewoon de ECMAScript bindings binnen DOM voor gebruiken, dus:
JavaScript:
1
2
var text = option.text;
var value = option.value;

Intentionally left blank


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 13-02 16:20

RM-rf

1 2 3 4 5 7 6 8 9

l0c4lh0st schreef op vrijdag 15 september 2006 @ 12:43:
[...]

Maar jij zegt hier dat ik firstChild moet gebruiken, ik wil echter de value èn de tekst die zichtbaar is voor de geselecteerde option.
ik zou je aanraden het gewoon bij het ouderwetse (al van HTML2.0 stammende FormObjectmodel) te blijven... domweg omdat dat in alle browsers gelijk is toegepast (alleen al firstChild zullen opera, mozilla explorer en safari allemaal nét wat anders mee doen, we hebben het hier namelijk om een 'standaard' en dat betekent dat iedereen zijn eigen interpretatie heeft, het lijkt soms net de protestantse kerk ;) )

als je én de value én de text wil hebben, moet je gewoon beide opvragen:
JavaScript:
1
2
3
4
var Elm = document.forms['formulier'].elements['selectnaam']
var myValue = Elm.options[ Elm.selectedIndex ].value
var myText = Elm.options[ Elm.selectedIndex ].text
 alert( myValue +" "+myText )

[ Voor 6% gewijzigd door RM-rf op 15-09-2006 12:53 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen

Pagina: 1