[JS] selectedIndex achterhalen terwijl select is uitgeklapt

Pagina: 1
Acties:

  • twiekert
  • Registratie: Februari 2001
  • Laatst online: 17:01
goeiemiddag,

ik zit hier met een probleem en ik vroeg mij of het volgende mogelijk is met javascript:

we hebben een select lijst met een aantal options erin bijvoorbeeld:

code:
1
2
3
4
5
<SELECT NAME='advertentie_id' ONMOUSEOVER='AdTooltip();'>
  <OPTION VALUE=1>optie 1</OPTION>
  <OPTION VALUE=2>optie 2</OPTION>
  <OPTION VALUE=3>optie 3</OPTION>
</SELECT>


vervolgens wordt de lijst uitgeklapt en wordt de muis over de opties heengeschoven zonder weer te klikken (lijst is dus nog uitgeklapt). nou is het de bedoeling om de selected index van de optie te achterhalen terwijl alleen de muis erop wordt gehouden en niet wordt geklikt!
met de onmouseover event wordt er een functie opgeroepen:

code:
1
2
3
4
5
function AdTooltip() {
  alert(document.form.advertentie_id.options[document.form.advertentie_id.selectedIndex].value);

  setTimeout("AdTooltip()", 2000);
}


nou is het echter zo dat de eerste optie van de select lijst de selectedIndex bepaalt omdat die als eerste geselecteerd wordt, ik wil echter het index nr van de optie waar de muis op dat moment op gehouden wordt achterhalen (de optie die dus blauw geselecteerd is)

is dit mogelijk :?

op de javascript reference kon ik geen bijpassende optie / event vinden.

Verwijderd

ik denk 't niet, je kan natuurlijk wel zelf een dhtml menutje bouwen. pseudocode:
code:
1
2
3
4
5
6
<div id="header" onclick="document.getElementById('menu').style.display = "block"'>selecteer hieronder</div>
<div id="menu" style="display: none;">
  <div onmouseover="doe je ding" onclick="donder de innertext in een hidden formelement">menuitem1</div>
  <div onmouseover="doe je ding" onclick="donder de innertext in een hidden formelement">menuitem2</div>
etc
</div>

[ Voor 22% gewijzigd door Verwijderd op 17-03-2003 17:43 ]


  • twiekert
  • Registratie: Februari 2001
  • Laatst online: 17:01
hmm jammer.

dan maar zelf een select lijstje met divs inelkaar knutselen.
ik ga er ff mee prutsen, bedankt mophor. :)

Verwijderd

trouwens nog een ideetje: je kan de muiscoordinaten opvragen en daarmee gaan rekenen waar je zit, maar dan heb je het probleem dat windows zelf bepaalt hoe die dropdowns eruit komen te zien en je kan dus wel eens gruwelijk fout zitten onder xp gok ik

Verwijderd

Je zou ook een <input type="hidden"> kunnen gebruiken en bij een onclick in die selectbox telkens een functie aanroepen die de waarde in dat hidden veld wegschrijft. Is maar een ideetje, misschien kan je er wat mee.

  • twiekert
  • Registratie: Februari 2001
  • Laatst online: 17:01
mja maar dat gaat niet werken, het probleem wat ik heb is namelijk dat er in een option veld te weinig informatie past omdat het scherm waarin de select komt te staan, erg smal is. mijn bedoeling was om in een mouseover divje de informatie weer te geven die niet in de value text past.

aangezien je bij een mouseover terwijl de select lijst is uitgeklapt niet de huidige index id kan achterhalen moet je wel klikken, en op dat moment wordt de pagina ververst om de informatie te laden die bij de optie hoort die je net hebt aangeklikt.

daarom ben ik maar een select lijst aan het maken met div's. kan je makkelijk een <A> linkje in zetten met de juiste onmouseover / onclick events :)

als er nog iemand interesse heeft in de code kan het wel posten zodra het af is :)

[ Voor 10% gewijzigd door twiekert op 17-03-2003 21:07 ]


  • KillR-B
  • Registratie: Mei 2002
  • Laatst online: 25-11 14:16
Het topic is inmiddels al een half jaar oud, maar ik heb momenteel de zelfde vraag als de topicstarter.

In Mozilla bestaat de <option onmouseover="js-code"> wel :) , maar IE kent dit event (nog) niet.

Iemand een idee of er (inmiddels) toch een oplossing bestaat met een <select> en dus niet met de <div> zoals hierboven beschreven staat?

Verwijderd

Ik wil het ook weten :-)
Pagina: 1