Avatar billede websam Nybegynder
23. februar 2007 - 12:03 Der er 8 kommentarer og
1 løsning

Beregning af priser ?

Hejsa,

Jeg skal have lavet noget javascript der kan vise en pris ved indtastning af antal produkter der bestilles.

1. Jeg lister en række produkter til indkøb fra en database. Hertil har jeg et skjult felt med en pris og tekst felt med antal.

2. Jeg har i bunden af denne liste en samlet pris der der viser antal x pris fra alle rækker son en samlet pris.

3. Jeg skal have lavet det således at når et styk antal ændres i et af tekst felterne skal den samlede pris automatisk rette sig til herefter.

Er der en der kan komme med et forslag til dette ?

/Websam
Avatar billede roenving Novice
23. februar 2007 - 12:06 #1
Se f.eks. eksemplet i denne tråd: http://www.eksperten.dk/spm/625583 !-)
Avatar billede websam Nybegynder
23. februar 2007 - 13:08 #2
I det eksempel du henviser til, sættes der et antal felter med numFields = 3; men da jeg ikke på forhånd ved hvor mange felter der er tale om kan jeg ikke umiddelbart bruge det.
Avatar billede tjens Nybegynder
24. februar 2007 - 11:37 #3
Forslag:

Når du danner HTMLen danner du samtidig en to javascript Arrays med antal og pris.
(uden for function, så Arrays bliver globale variable).

Du skriver en function KalkTotal() som beregner totalen ved at løbe arrays igennem.

Visning af totalen på skærmen gøres ved at have HTMLen til totalen i en lille DIV, så du kan overskrive den til sidst i function KalkTotal():
document.getElementById("totaldiv").innerHTML = "kr. " + ialt;

På hvert antalsfelt i din form tilføjer du en
onchange(="antalArray[xyz]=this.value; KalkTotal();"
hvor xyz erstattes af linienummeret (allerede når du danner din form HTML i dit webserverscript).
Avatar billede tjens Nybegynder
24. februar 2007 - 13:23 #4
Jeg har lavet det som eksempel:
http://tjens.dk/javascript/examples/CalculateItemTotal.html

Højreklik for at se scriptet.

Ud over ovenstående forslag, har jeg flyttet dannelsen af form med tekstfelter til antal fra serverscriptet til javascript function showForm().
Derved skal serverscriptet kun danne javascript arrays med dataindhold.
Avatar billede roenving Novice
24. februar 2007 - 14:49 #5
>>websam 23/02-2007 13:08:56

-- du kan jo under genereringen af formularen optælle antallet og så sætte en variabel til sidst ...

-- men jeg kan da også lave en generisk udgave, ved at udskifte en for med en while i sammentællingen (kræver i denne udgave at nummereringen er absolut fortløbende !-)


...
    sum = 0,i=1;
    while(document.getElementById("Sum"+i)){
        sum += +document.getElementById("Sum"+i++).value
    }
    ialt.value = formatNum(sum);
    ialt1.value = formatNum(sum*1.25);
}
Avatar billede websam Nybegynder
05. marts 2007 - 08:17 #6
Jeg har været fraværende den seneste uges tid, så jeg prøver lige at kigge på jeres forslag ;o)
Avatar billede websam Nybegynder
17. juni 2007 - 08:59 #7
Smid et svar ;o) fik det til at virke
Avatar billede roenving Novice
18. juni 2007 - 00:17 #8
Velbekomme '-)
Avatar billede roenving Novice
18. juni 2007 - 22:22 #9
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester