Form onchange met meerdere variabelen
Als ik bij Merk SAMSUNG aantik, zorgt de onchange van de select-dropdown dat de informatie die hij ernaast ophaalt uit de database, bijgewerkt word naar alleen dingen van Samsung. De link is dan localhost/blabla/site.php?merk=Samsung.
Maar als ik dan bij Prijs ONDER 500 aantik, doet hij hetzelfde (onchange zorgt voor weergeven alles onder 500 euro uit db). de link is dan hetzelfde alleen ipv dat hij ervan maakt 'site.php?merk=Samsung&&Prijs=500 (500 is value van ONDER 500), maakt hij er site.php?prijs=500 van.
Ik heb al vaker gewerkt met variabelen op verschillende wijzes doorzenden, maar hier gaat het om het continu kunnen bijwerken van de informatie die onchange uit de database worden gehaald waarbij de pagina zelf niet veranderd maar gewoon hetzelfde blijft (de link).
Kan iemand vertellen of uitleggen hoe ik site.php?merk=Samsung&&prijs=500 oid krijg ipv merk en prijs apart steeds?
Je moet dan beginnen met een php bestand die de benodigde filters toepast. Dus deze pagina moet kunnen werken met:
Code (php)
1
2
3
4
2
3
4
filter.php
filter.php?merk=Samsung
filter.php?prijs=500
filter.php?merk=Samsung&prijs=500
filter.php?merk=Samsung
filter.php?prijs=500
filter.php?merk=Samsung&prijs=500
Vervolgens kun je deze pagina laten antwoorden met HTML waarmee je de content van een bepaalde div op je pagina ververst. Of wanneer je genoeg zelfvertrouwen hebt met JSON.
Het antwoord moet natuurlijk een opsomming bevatten van de al dan niet gefilterde producten.
Daarna kun je een AJAX request naar deze pagina inbouwen in je webshop. Dit request moet natuurlijk bij verandering van de dropdowns opnieuw verstuurd worden maar wel met de juiste query-string.
Dit kan heel makkelijk met behulp van jQuery als je een formulier maakt met de twee dropdowns er in. Een voorbeeld hiervan vindt je onder andere hier
Quote:
Maar als ik dan bij Prijs ONDER 500 aantik, doet hij hetzelfde (onchange zorgt voor weergeven alles onder 500 euro uit db). de link is dan hetzelfde alleen ipv dat hij ervan maakt 'site.php?merk=Samsung&&Prijs=500 (500 is value van ONDER 500), maakt hij er site.php?prijs=500 van.
Het klinkt alsof de onchange van de selectbox geen rekening houdt met elders geselecteerde velden maar alleen kijkt naar zijn eigen value? Als je nu eens alle onchanges naar één stuk functionaliteit (functie?) laat wijzen die de filter-URL op een uniforme wijze opbouwt? Bijvoorbeeld op de manier / met behulp van wat @Frank hierboven voorstelt. De URL die je opstelt gooit dan alle zoekparameters over de schutting maar mogelijk hebben niet alle parameters een waarde (bijvoorbeeld ?merk=Samsung&prijs= of ?merk=&prijs=500).
Doe je het wel via een submit & heb je ze wel samen/beide binnen het zelfde FORM staan ?