Ik zal hier een probleem uitleggen dmv een verzonnen casus, mijn excuus voor de abstractie, maar ik kan hier helaas niet de oorspronkelijke webapplicatie weergeven.
Casus:
Ik heb 2 dropdown boxes welke dienen voor het invoeren van data in een tabel. De inhoud van beide dropdowns is opgeslagen in een mysql DB.
De submit regel ziet er bijv als volgt uit:
|dropdown1 "woont in:" | dropdown2 "persoon:" | textbox1 | textbox2 | submitbutton|
Dropdown1 bevat een lijst met landen en dropdown2 een lijst met personen.
De 2 dropdowns hebben een "meer-op-meer" relate met elkaar, in 1 land kunnen meerdere personen wonen, en 1 persoon kan in meerdere landen wonen (gaat om het principe).
Probleemstelling:
Wanneer ik een land selecteer wil ik dat dropdown 2 veranderd, en de inhoud sorteerd op relevantie, dus eerst worden de personen getoont die wel in het land voorkomen, daarna de overige personen. Het is belangrijk dat wel alle personen getoont worden, want je zou immers na deze actie een persoon moeten kunnen selecteren waarna de landen lijst moet worden aangepast op de geselecteerde persoon.
Als ik het goed begrijp moet je dus als je uit dropdown 1 bijvoorbeeld Nederland selecteerd moet dus dropdown 2 alle mensen weergeven die in nederland wonen en zo verder met alle andere landen...
Als ik het goed begrijp moet je dus als je uit dropdown 1 bijvoorbeeld Nederland selecteerd moet dus dropdown 2 alle mensen weergeven die in nederland wonen en zo verder met alle andere landen...
Klopt... Dus je krijgt eerst de mensen uit nederland te zien bovenaan, en verder wordt de lijst aangevuld met de resterende mensen.
Ik denk dat dat de oplossing is voor een gedeelte van het probleem, de opmaak van de dropdowns.
Zoiets had ik zelf ook al in gedachte, maar waar ik vastloop is bij het koppelen van dat script aan een actie in mijn dropdown.
Namelijk wanneer de selectie van 1 van de boxes veranderd, moet de opmaak/selectie (van de inhoud) van de andere box veranderen.
Deze code zorgt ervoor dat je bij het wijzigen van je dropdown de pagina herlaadt. Douwe Ikkuh heeft al een voorbeeld gepost voor het bouwen van de inhoud van de dropdowns (hoewel je dat in principe met 1 query kunt redden).
Indien nodig kun je het land eventueel ook al verwerken in de refresh-url:
<option value="&land=NL&persoon=X">Persoon X</option>
Dan hoef je slechts een GET-je te doen om de info op te duiken die je nodig hebt voor je query.
Bedankt voor je reactie, had al zo'n vermoeden dat ik javascript nodig zou hebben, echter heb ik hier totaal geen ervaring mee...
Zal het vanavond eens proberen werkend te krijgen met deze constructie :)