Toon posts:

[Javascript] 2 producten op prijs vergelijken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben vandaag al druk bezig geweest met zoeken en het zelf in elkaar vogelen van een volgens script.

Stel ik heb 2 producten en wil hierbij een hele simpele optel som maken bij het invullen van "aantal" en het kiezen van een dropdown menu.

Ik zou dus zoiets willen maken:

ProducttypeDropdown om te kiezen
AantalTextveld voor aantal
   
 Product 1 Product 2
   
Prijs per stuk 3335
Verpakken per stuk 1520
   
   
Totaal4855


Het lijkt me redelijk goed te doen met een onchange() om dit zonder submit te doen. De producten zullen vast in het javascript moeten staan.

Aangezien een dergelijke javascript toch redelijk complex gaat worden, omdat je zaken aan elkaar moet gaan koppelen vraag ik me erg af of ik wel goed zit met javascript.

Ik heb al wat geprobeerd en wat scripts opgezocht. Het lijkt erop dat ik met javascript en loops moet gaan werken ?

Of kan ik toch beter voor een andere oplossing gaan ?

  • derdappie
  • Registratie: September 2005
  • Laatst online: 17-11 17:57
Met javascript is dit goed te doen. Je weet welke waarde je in de selectbox hebt. Dit doe je maal het aantal wat je invult bij het aantal. zo kom je op het totaalbedrag. Je kan dit het beste doen met array's. Bij het inladen van de pagina maak je een array aan met als key het product-id. daar achter kan je dan verpakkingskosten en gewone kosten hangen. wanneer je in de select een product selecteert, kan je op basis van het productid die prijzen ophalen, en daarmee gaan rekenen

heb je zelf al iets van code, of heb je het alleen nog maar uitgedacht?

Verwijderd

Topicstarter
Ik heb al voorbeeld even producten genomen omdat dit het makkelijkste is.

Ik heb al wat probeersels wat niet echt waarde heeft. Ik vind die arrays redelijk lastig zo op het eerste gezicht als je een script dat zoiets doet (alleen in een andere vorm).

Ik begreep dat je opvolgende arrays dus:

10 20
Brood Ei

Op elkaar kan laten reageren omdat ze op dezelfde manier in een verschillende array staan ?

  • derdappie
  • Registratie: September 2005
  • Laatst online: 17-11 17:57
Hmm, snap het niet helemaal. Als een array maakt, met daarin het product Brood (dat is dan productid 1) dan kan je daarin weer een array maken met de prijzen.

array[1]['prijs'] = €10,-
array[1]['verpak'] = €50,-

Nu kan je dus met het productid van brood (1) de prijzen opvragen. Wanneer je product Ei erbij doet
(met id2) dan krijg je dus de volgende array

array[1]['prijs'] = €10,-
array[1]['verpak'] = €50,-
array[2]['prijs'] = €5,-
array[2]['verpak'] = €15,-

zo maak je een array met al je producten en hun prijzen, zodat je ze met hun ID kan aanspreken.De rest is dan een simpel rekensommetje om totalen uit te rekenen. Wanneer je niet alle producten in 1 array wilt stoppen, kun je er ook voor kiezne om voor elk producttype een array te maken, of wanneer je het wel in 1 array wilt hebben, kun je met nog een waarde in de array aangeven om wat voor producttype het gaat

Verwijderd

Topicstarter
Mijn excuus, het andere script dat ik vond was met var() gedaan, zal ik die eens posten zodat je een idee hebt ?

  • Y0ur1
  • Registratie: Oktober 2000
  • Niet online
Je doet ook wel een bereking serverside neem ik aan als dit b.v een webshop is? Business logica client-size met javascript is vaak handig voor de gebruiker maar allerminste betrouwbaar. Er zijn verhalen van webshops die op deze wijze zeer eenvoudige te tillen waren.

Verwijderd

Topicstarter
Y0ur1 schreef op zondag 04 maart 2007 @ 23:05:
Je doet ook wel een bereking serverside neem ik aan als dit b.v een webshop is? Business logica client-size met javascript is vaak handig voor de gebruiker maar allerminste betrouwbaar. Er zijn verhalen van webshops die op deze wijze zeer eenvoudige te tillen waren.
Het gaat niet om een webshop, puur om een rekenvoorbeeld dat gewoon plaintext in de code van een site mag staan.

Dus aan de hand van vaste gegevens wil ik een vergelijking maken zoals ik in de tabel hier boven deed.

Verwijderd

Topicstarter
Ik bedenk me ineens, waarom heb ik dit niet met een database gedaan ? Dit is natuurlijk 100x makkelijker.

/me moet wat meer slapen volgende keer.

  • derdappie
  • Registratie: September 2005
  • Laatst online: 17-11 17:57
haha... was er vanuitgegaan dat je de gegevens in elk geval uit een database haalt, maar dit is dus niet het geval?

Verwijderd

Topicstarter
derdappie schreef op maandag 05 maart 2007 @ 16:25:
haha... was er vanuitgegaan dat je de gegevens in elk geval uit een database haalt, maar dit is dus niet het geval?
Nee, dat was dus niet het geval.

Hier heb ik geen javascript voor nodig, kan hier gewoon een $_GET['var'] voor doen en dan een query.
Pagina: 1