[JS] onChange dynamisch toekennen aan <select>

Pagina: 1
Acties:

  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 28-03 23:19
OK, de volgende 'harde' code werkt:

HTML:
1
2
3
4
5
6
        <select name="afdeling" onChange="switchProducts()">
            <option value="Alle Afdelingen" selected="selected">Alle Afdelingen</option>
            <option value="afd1">afd1</option>
            <option value="afd2">afd2</option>
            <option value="afd3">afd3</option>
        </select>


Ik wil echter wat gegevens uit een XML document trekken, en vanuit die array weer een menu opbouwen. Dat gaat op zich goed, het menu bouwt zich gewoon netjes op op de plaats waar het gevraagd wordt, alle gegevens worden er netjes opgehaald en neer gezet.

Maar de onChange krijg ik niet voor elkaar. Ik heb al verschillende manieren geprobeerd, ook afdelingPulldown.setEvent = ("onChange", functie()); en dat soort dingen, maar ik kom er niet meer uit.

JavaScript:
1
2
3
4
5
6
7
8
9
function buildMenu() {
    afdelingPulldown = document.createElement('select');
    afdelingPulldown.name = "afdeling";
    afdelingPulldown.onChange = boxPopulator();
    document.selecteer.appendChild(afdelingPulldown);
    for(i=0;i<menuNames.length;i+=1) {
        afdelingPulldown.options[i] = new Option(menuNames[i],menuNames[i]);
    }
}


Hoe koppel ik een onChange event netjes, werkend & volgens de standaard aan een element?

NB: switchProducts() uit de 'harde' variant is een stukje script dat gaat kijken en vergelijken en dan door gaat naar boxPopulator(), wat niet nodig is in de 'dynamische' variant, omdat dan al meteen bekend is welk element waar staat in de array.

iOS developer


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

onchange?

Ik praat deels poep:

JavaScript:
1
afdelingPulldown.onchange = boxPopulator;

[ Voor 75% gewijzigd door BtM909 op 08-06-2005 15:21 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • André
  • Registratie: Maart 2002
  • Laatst online: 06-05 11:13

André

Analytics dude

code:
1
afdelingPulldown.onchange = boxPopulator;

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

André schreef op woensdag 08 juni 2005 @ 15:20:
code:
1
afdelingPulldown.onchange = boxPopulator;
Shitttt, zelf als ik als eerste reply ben je sneller :? :'(

Dit is trouwens makkelijk te tekkelen, want als je () erachter plaatst, dan wordt de functie meteen uitgevoerd :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

oftewel: JaVasCriPt iS cAseSeNsiTivE ;)

[ Voor 24% gewijzigd door crisp op 08-06-2005 15:24 ]

Intentionally left blank


  • André
  • Registratie: Maart 2002
  • Laatst online: 06-05 11:13

André

Analytics dude

BtM909 schreef op woensdag 08 juni 2005 @ 15:22:
[...]

Shitttt, zelf als ik als eerste reply ben je sneller :? :'(
Ik denk ik laat je een keer voorgaan, geef je dat soort antwoorden :/ :+
Dit is trouwens makkelijk te tekkelen, want als je () erachter plaatst, dan wordt de functie meteen uitgevoerd :)
En als je toch iets mee wil geven aan de funtcie"
code:
1
afdelingPulldown.onchange = function() { boxPopulator('bla'); }

  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 28-03 23:19
crisp schreef op woensdag 08 juni 2005 @ 15:23:
oftewel: JaVasCriPt iS cAseSeNsiTivE ;)
I know, daarom deed ik ook zo netjes onChange ;)

Ik wist wel weer dat het weer iets belachelijks simpels moest zijn.....iig bedankt, het werkt!

iOS developer


  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 28-03 23:19
BtM909 schreef op woensdag 08 juni 2005 @ 15:22:Dit is trouwens makkelijk te tekkelen, want als je () erachter plaatst, dan wordt de functie meteen uitgevoerd :)
DAT deed hij dus weer wel, dus dat maakte het nog vreemder!

iOS developer


  • André
  • Registratie: Maart 2002
  • Laatst online: 06-05 11:13

André

Analytics dude

BikkelZ schreef op woensdag 08 juni 2005 @ 15:28:
[...]


DAT deed hij dus weer wel, dus dat maakte het nog vreemder!
Nee hoor, dat is juiste normaal, als jij bijvoorbeeld dit doet:

code:
1
auto.merk = bepaalmerk();


Dan kun je in de functie bepaalmerk() direct een merk returnen :)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

BikkelZ schreef op woensdag 08 juni 2005 @ 15:26:
[...]


I know, daarom deed ik ook zo netjes onChange ;)
Maar eventhandler is dus weer onchange ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.

Pagina: 1