Archief - AJAH: Dropdownlist

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Sprits

Legacy Member
Ik zoek dus een script of een tutorial met voorbeelden om dit ong te maken (http://www.wow-europe.com/en/info/basics/armorsets/)

Als men bvb Orc kiest, moet er in de dropdown ernaast enkel de classes komen die hij kan zijn.
Ik heb de classes en de races in mijn database steken en bij ieder race staat erbij welke classes (classid) ze kunnen zijn.
vb:
Class
rogue (1)
paladin (2)
warrior (3)

Race
Orc (1,3)
Blood Elf (1,2)
...

het uit de database halen en in een dropdownlist steken is geen probleem!
de bedoeling is dat als met dus orc zou kiezen uit de dropdownlist dat de lijst ernaast actief wordt en hierin de classes komen die een orc zou kunnen zijn... zonder te refreshen dan (hetgeen gedaan wordt door ajax) < Dit zoek ik dus :)

kheb al nen tijd gezocht op google en wa dinges gevonden... maar ik kan geen javascript of ajax en zou dus direct een script of tutorial (waarin de source staat) nodig hebben.

alvast bedankt

Eleanor

Legacy Member
een beetje javascript, en je probleem is opgelost.
2 comboboxen aanmaken, 1e op onzichtbaar, wann pagina laadt, alles inladen in uit de database. Bij een onchange() event 2e box tonen.

Zo zou ik het ongeveer doen. Kweet niet of dit de korste/beste oplossing is.

Smoerf

Legacy Member
Ik wil wel iets fixen, het enige wat je hoeft te maken is je file "classes.php", zodat ik "classes.php?race=orc" of "classes.php?race=gnome" kan opvragen via ajax.

Wat je moet returnen is een komma separated lijst,

"rogue,paladin,warior"

Dan kan ik dat opvangen. Ik leg je dan wel uit hoe alles in z'n werk gaat :)

Ben nl. bezig met een soort JAH class (javascript and HTML).
http://labs.joggink.be/joink_lib/JAH/getRequest.htm

Linwe

Legacy Member
Ben ik niet mee en is "AJAH" && "JAH" de allerlaatste nieuwe trendy AJAX benaming ? :wtf:

Smoerf

Legacy Member
nope, iedereen noemt alles wat dynamisch is en geen page reload gebruikt AJAX, maar... er wordt een onderscheid gemaakt tussen AJAX en AHAH (of (a)JAH).

AJAX maakt gebruik van volgende zaken:

1. xHTML en CSS voor de presentatie volgens de W3C normen.
2. DOM om de dynamisch content te plaatsen/animeren
3. XML / XSLT om data op te slaan, te wijzigen of te transporteren.
4. het XMLHttpObject om asynchroon te communiceren met de server
5. Javascript om de request te versturen en op te vangen

AHAH is in vele opzichten gemakkelijker in gebruik. Theoretisch gezien is AHAH een onderdeel van AJAX want xHTML is gewoon een type XML met een vastgelegde DTD.

Voordelen van AHAH :

1. Geen gebruik van XML
2. Alle data transport is plain xHTML code, dus easy to import
3. De data is easy-to-implement in de huidige DOM-structuur, dus geen client-side/cross browser XML parsen

http://joggink.be/blog/2007/04/27/ajax-hoe-zit-dat-nou/


Wikipedia:
Ajax: http://en.wikipedia.org/wiki/Ajax_(programming)
Ahah: http://en.wikipedia.org/wiki/Ahah

lees vooral dit stuk op de ahah wikipedia pagina:
Also, speed is much improved by using innerHTML over manipulating the DOM, and some extensive benchmarks have been performed to prove this. So, this might warrant the use of AHAH over Ajax in some cases.

innerHTML is niet W3C valid, maar er zijn andere manieren om dit af te handelen :)

Linwe

Legacy Member
Dus het komt in feite neer op het letterlijk printen van de responseText ipv de verwerking van de responseXML ? (met dat je gewone html verzend als response)

Smoerf

Legacy Member
Eigenlijk wel ja.

je kan evengoed "rogue, warlock, paladin" afdrukken en dan met js de responseText splitten op komma, en voor ieder element een <option> tag aanmaken. Hierbij verlies je een klein beetje aan snelheid omdat je je DOM aanspreekt en je elements create/append maar het is wel netter + het feit dat innerHTML niet door alle browsers ondersteunt wordt...

IE 4+ (buggy op MAC)
Mozilla 1.0+
Netscape 6.0+
Opera 7.0+
Safari 1.0+

Maar als je de versies bekijkt, we zijn ondertussen al een paar jaar later, maar er zijn nog altijd "surfer" met verouderde browsers...

Linwe

Legacy Member
Die fancy naming toch voor ...easy stuff hé ;-) Maar je moet dat in zijn context bekijken. Je behaalt hier op heel veel vlakken snelheidswinst mee. (Doe dat zelf ook in mijn shoppincart bv) Maar om een lijstje mee te geven vind ik een XML teruggave wel een STUK mooier dan een "," lijstje.

<classes>
<classname>rogue</classname>
<classname>lock</classname>
<classname>pala</classname>
</classes>

Smoerf

Legacy Member
ja maar die moet je dan zoiezo door een js xml parser halen, maar je hebt een punt, het is idd properder.

Het simpelste is eigenlijk om op je serverside pagina
<option value="1">Rogue</option>
<option value="2">Warlock</option>
...

later afdrukken en dit rechtstreeks in je <select> stoppen. Echt christelijk is dit niet, maar als je het properder wil kan jde <select> ook op je serverside pagina parsen, maar dan zit je niet meer met een simpele dataRequest maar met echt codeblokken die je vervangt en doet, niet echt mijn ding...

Sprits

Legacy Member
Smoerf zei:
Ik wil wel iets fixen, het enige wat je hoeft te maken is je file "classes.php", zodat ik "classes.php?race=orc" of "classes.php?race=gnome" kan opvragen via ajax.

Wat je moet returnen is een komma separated lijst,

"rogue,paladin,warior"

Dan kan ik dat opvangen. Ik leg je dan wel uit hoe alles in z'n werk gaat :)

Ben nl. bezig met een soort JAH class (javascript and HTML).
http://labs.joggink.be/joink_lib/JAH/getRequest.htm

vriendelijk bedankt! ik ga er direct is werk van maken se :)

edit:
pagina is in orde
kheb u toegevoegd op msn :)

Smoerf

Legacy Member
neem skype, ik zit zelden tot nooit op msn, ofwel stuur je me een emailtje.

Sprits

Legacy Member
Smoerf zei:
ja maar die moet je dan zoiezo door een js xml parser halen, maar je hebt een punt, het is idd properder.

Het simpelste is eigenlijk om op je serverside pagina
<option value="1">Rogue</option>
<option value="2">Warlock</option>
...

later afdrukken en dit rechtstreeks in je <select> stoppen. Echt christelijk is dit niet, maar als je het properder wil kan jde <select> ook op je serverside pagina parsen, maar dan zit je niet meer met een simpele dataRequest maar met echt codeblokken die je vervangt en doet, niet echt mijn ding...


kheb hier juist met een vriendin (werkt veel met java en heeft tamelijk wat geholpen :)) dit in orde gekregen!
maar kzou toch ook nog graag u systeem eens willen bezien
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan