Avatar billede krisbjoern Nybegynder
16. marts 2001 - 00:29 Der er 4 kommentarer og
1 løsning

hente oplysninger( prisen) i et array og lægge dem sammen

Jeg har skabt en function der hedder Bog();
Bog(med dertilhørende oplysninger(indeksnr, titel, forfatter, pris, bill.ref))  lægger jeg ind i et Array via Bog1 = new Bog(.....).

Jeg skaber i alt 4 bøger med titel/ pris osv.

Nu tilføjer...tilfoej()...jeg 2 af dem til min indkoebsKurv(). Jeg har oprettet en function der heder visPris()...og den skal jo gerne udskrive en samlet pris af de objekter jeg har liggende i min
indkoebskurv(). Jeg kan tilføje og slette og få den rigtige udskrift på skærmen af hvad der ligger tilbage i min indkoebskurv...men jeg kan ikke få visPris() til at beregne en samlet pris af indholdet i indkøbskurven.

Her er mit script:


    function Bog(indeks, titel, forfatter, pris, billedref){
            this.indeks = indeks;
            this.titel = titel;
            this.forfatter = forfatter;
            this.pris = pris;
            this.billedref = billedref;
           
            //---metoder--------------------------
            this.IndkoebsKurv = IndkoebsKurv;
            this.tilfoej = tilfoej;
            this.slet = slet;
}



    function IndkoebsKurv(){
            this.Bogkoeb = new Array();
            this.Saldo = 0
            this.tilfoej = tilfoej;
            this.slet = slet;
            this.visIndhold = visIndhold;
            this.visPris = visPris;
}

    function tilfoej(nyBog){
           
            this.Bogkoeb[this.Bogkoeb.length] = nyBog;          //et Åben Array hvor bøgerne bliver placeret indtil handlen afsluttes
           
           
           
            //document.writeln(\"denne tekst stammer fra tilfoej:<BR>\"+this.Bogkoeb+\"<BR>\");
             
           
           
           
}
    function visIndhold(){
            document.writeln(\"Denne tekst stammer fra visIndhold:<BR>\");
                    var i = 0;
                        for(i=0; i<this.Bogkoeb.length; i++){
                            if(this.Bogkoeb[i] != \"\"){
                                    //document.writeln(\"<BR>indeks :\"+this.Bogkoeb[i].indeks);
                                    document.writeln(\"<BR>titel :\"+\"<FONT COLOR=\'blue\'>\"+this.Bogkoeb[i].titel+\"</FONT>\");
                                    //document.writeln(\"<BR>forfatter :\"+this.Bogkoeb[i].forfatter);
                                    document.writeln(\"<BR>pris :\"+\"<FONT COLOR=\'blue\'>\"+this.Bogkoeb[i].pris+\"<BR>\"+\"</FONT>\");
                                                        }
                                            }
                            document.writeln(\"<HR>\");
}

    function slet(nyBog){
            document.write(\"Du sletter følgende titel fra din indkøbskurv:<BR>\")
                    var i = 0;
                    while(this.Bogkoeb[i] != nyBog){i++};
                    document.write(\"<FONT COLOR=\'red\'>\"+this.Bogkoeb[i].titel+\"</FONT><HR>\");
                    this.Bogkoeb[i] = \"\";
}

        function varebeholdning(){
                this.varebeholdning = BogValg;
                document.write(\"Du har på denne side adgang til følgende Titler:<BR><BR>\")
                var i = 0;
                        for(i=0; i<this.BogValg.length; i++){
                            document.write(\"<FONT COLOR=\'green\'>\"+BogValg[i].titel+\"</FONT><BR>\")
                            }
                            document.writeln(\"<HR>\");
       
}

        function visPris(visIndhold){
                document.writeln(\"<HR>Du har Bestilt bøger for Kroner:<BR>\")
                var i = 0;
                var sum = 0;
                    while(this.Bogkoeb[i] == visIndhold){i++}
                            sum+=(this.Bogkoeb[i].pris);
                           
                   
                       
                       
                        document.writeln(sum)
}


document.writeln(\"Her er indholdet af \'IndkoebsKurv()\': <BR><HR>\")// Bare en sætning der skrive på skærmen!

// skabelse bøger og  bogsamling




/*******************************************************************************
********************************************************************************
************                                                        ***********
************              TEST - TEST - TEST - TEST - TESTING        ***********
************                                                        ***********
********************************************************************************
*******************************************************************************/

Bog0 = new Bog(1,\"Javascript Application Cookbook\",\"Jerry Bradenbaugh\",360,\"b1.gif\");
Bog1 = new Bog(2,\"Internet and WWW How to program \",\"Deitel & Deitel\",450,\"b2.gif\");
Bog2 = new Bog(3,\"DHTML For the World Wide Web\",\"Jason C. Teague\",250,\"b3.gif\");
Bog3 = new Bog(4,\"Building Web Applications with UML\",\"Jim Conallen\",300,\"b4.gif\");

// varebeholdning = bogSamling
BogValg = [Bog0,Bog1,Bog2,Bog3];
       

// skabelse af indkøbskurv
Kurv = new IndkoebsKurv();
//brugscenarie 1.3



Kurv.tilfoej(BogValg[0]);
//Kurv.visIndhold();
varebeholdning();
Kurv.tilfoej(BogValg[2]);
Kurv.tilfoej(BogValg[1]);
Kurv.visIndhold();
Kurv.slet(BogValg[1]);
Kurv.visIndhold();
Kurv.visPris(visIndhold);

Avatar billede dudal Nybegynder
16. marts 2001 - 00:43 #1
Prøv dette:

function visPris(visIndhold){
                document.writeln(\"<HR>Du har Bestilt bøger for Kroner:<BR>\")
                var i = 0;
                var sum = 0;
                    for(i=0; i<this.Bogkoeb.length; i++){
                                        if (this.Bogkoeb[i].pris > 0) {
                          sum+=(this.Bogkoeb[i].pris);
                                        }
                                        }
                   
                       
                       
                        document.writeln(sum)
}


/Jesper
Avatar billede jakoba Nybegynder
16. marts 2001 - 00:48 #2
Du blev vist ledet på afveje med den  visIndhold  parameter :)

function visPris() {
    document.writeln(\"<HR>Du har Bestilt bøger for Kroner:<BR>\");
    var sum = 0;
    for (var i=0; Kurv.length>i; i++)
      sum+=(this.Bogkoeb[i].pris);
    document.writeln(sum);
}; //end visPris() lokal i Kurv

mvh JakobA
Avatar billede krisbjoern Nybegynder
16. marts 2001 - 01:36 #3
Det blev dudal der fik pointene...det var nemlig det script der virkede....KANOOOOOOONNNNN!

You saved my day...
og min natte søvn for den sags skyld.
YES-YES-YES.
Jeg har knoklet med det her problem i 3 timer
ved at blive skør...men nu kan jeg roligt lægge mig til at sove.

endnu engang
TAK
hilsen
Kristian Bjørn
Avatar billede dudal Nybegynder
16. marts 2001 - 10:17 #4
hehe.... Det var da så lidt. :-)

Takker.

/Jesper
Avatar billede jakoba Nybegynder
16. marts 2001 - 16:42 #5
Fair&square. Min betingelse i for-løkken var jo gal.
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