Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 3 of 3
  1. #1
    New Coder
    Join Date
    Sep 2011
    Posts
    57
    Thanks
    8
    Thanked 0 Times in 0 Posts

    percentage off function for Quote Form

    I am trying to create a function or have this work some how where it displays the first number when you make your choice in the first drop down box, which is working so far. In the second drop down box, if any of the answers are chosen except for none, it will take off 10% of the first number. Then add or subtract from there. I just have a problem with creating a function to take off that 10%. Here is the javascript:

    Code:
    /*
    This source is shared under the terms of LGPL 3
    www.gnu.org/licenses/lgpl.html
    
    You are free to use the code in Commercial or non-commercial projects
    */
    
     //Set up an associative array
     //The keys represent the size of the cake
     //The values represent the cost of the cake i.e A 10" cake cost's $35
     var practice_field = new Array();
    practice_field["None"]=0;
    practice_field["Allergy and Immunology"]=4400;
    practice_field["Endocrinology"]=4400;
    practice_field["Pathology"]=4400;
    practice_field["Dermatology"]=4400;
    practice_field["Geriatrics"]=4400;
    practice_field["Physical Rehabilitation"]=4400;
    practice_field["Family Practice"]=6900;
    practice_field["General Practice"]=6900;
    practice_field["Internal Medicine"]=6900;
    practice_field["Oncology"]=6900;
    practice_field["Oral Surgery"]=6900;
    practice_field["Radiology"]=6900;
    practice_field["Gastroenterology"]=6900;
    practice_field["Infectious Disease"]=6900;
    practice_field["Nephrology"]=6900;
    practice_field["Ophthalmology"]=6900;
    practice_field["Pediatrics"]=6900;
    practice_field["Urology"]=6900;
    practice_field["Anesthesiology"]=9000;
    practice_field["Cosmetic Surgery"]=9000;
    practice_field["General Surgery"]=9000;
    practice_field["Neurology"]=9000;
    practice_field["Otolaryngology"]=9000;
    practice_field["Plastic Surgery"]=9000;
    practice_field["Vascular Surgery"]=9000;
    practice_field["Cardiology"]=9000;
    practice_field["Emergency Medicine"]=9000;
    practice_field["Gynecology"]=9000;
    practice_field["Orthopedic Surgery"]=9000;
    practice_field["Pain Management"]=9000;
    practice_field["Pulmonary Surgery"]=9000;
    practice_field["Neurological Surgery"]=9900;
    practice_field["Obstetrics"]=9900;
    
     
     //Set up an associative array 
     //The keys represent the filling type
     //The value represents the cost of the filling i.e. Lemon filling is $5,Dobash filling is $9
     //We use this this array when the user selects a filling from the form
     var society_member= new Array();
     society_member["None"]=1;
    society_member["BCMA"]=0.10;
    society_member["DCMA"]=0.10;
    society_member["FOGS"]=0.10;
    society_member["FNS"]=0.10;
    society_member["PBCMS"]=0.10;
    society_member["FSPS"]=0.10;
     
    //This function finds the filling price based on the 
    //drop down selection
    function getPracticeField()
    {
        var docPracticeField=0;
        //Get a reference to the form id="cakeform"
        var theForm = document.forms["cakeform"];
        //Get a reference to the select id="filling"
         var selectedPracticeField = theForm.elements["practice"];
         
        //set cakeFilling Price equal to value user chose
        //For example filling_prices["Lemon".value] would be equal to 5
        docPracticeField = practice_field[selectedPracticeField.value];
    
        //finally we return cakeFillingPrice
        return docPracticeField;
    }	 
    	 
    
    
    //This function finds the filling price based on the 
    //drop down selection
    function getSelectedSociety()
    {
        var docSelectedSociety=0;
        //Get a reference to the form id="cakeform"
        var theForm = document.forms["cakeform"];
        //Get a reference to the select id="filling"
         var selectedSociety = theForm.elements["society"];
         
        //set cakeFilling Price equal to value user chose
        //For example filling_prices["Lemon".value] would be equal to 5
        docSelectedSociety = society_member[selectedSociety.value];
    
        //finally we return cakeFillingPrice
        return docSelectedSociety;
    }
    
    //candlesPrice() finds the candles price based on a check box selection
    function candlesPrice()
    {
        var candlePrice=0;
        //Get a reference to the form id="cakeform"
        var theForm = document.forms["cakeform"];
        //Get a reference to the checkbox id="includecandles"
        var includeCandles = theForm.elements["includecandles"];
    
        //If they checked the box set candlePrice to 5
        if(includeCandles.checked==true)
        {
            candlePrice=5;
        }
        //finally we return the candlePrice
        return candlePrice;
    }
    
    function insciptionPrice()
    {
        //This local variable will be used to decide whether or not to charge for the inscription
        //If the user checked the box this value will be 20
        //otherwise it will remain at 0
        var inscriptionPrice=0;
        //Get a refernce to the form id="cakeform"
        var theForm = document.forms["cakeform"];
        //Get a reference to the checkbox id="includeinscription"
        var includeInscription = theForm.elements["includeinscription"];
        //If they checked the box set inscriptionPrice to 20
        if(includeInscription.checked==true){
            inscriptionPrice=20;
        }
        //finally we return the inscriptionPrice
        return inscriptionPrice;
    }
            
    function calculateTotal()
    {
        //Here we get the total price by calling our function
        //Each function returns a number so by calling them we add the values they return together
        var cakePrice = getPracticeField() * getSelectedSociety() + candlesPrice() + insciptionPrice();
        
        //display the result
        var divobj = document.getElementById('totalPrice');
        divobj.style.display='block';
        divobj.innerHTML = "Total Price For the Cake $"+cakePrice;
    
    }
    
    function hideTotal()
    {
        var divobj = document.getElementById('totalPrice');
        divobj.style.display='none';
    }

  • #2
    New Coder
    Join Date
    Sep 2011
    Posts
    57
    Thanks
    8
    Thanked 0 Times in 0 Posts
    oh and ignore the cake price thing, I am going to be modifying all that after I get past this problem.

  • #3
    Senior Coder
    Join Date
    Dec 2010
    Posts
    2,355
    Thanks
    11
    Thanked 558 Times in 551 Posts
    Code:
    function takeOffPercent(orig, perc) {
       return orig * (100-perc)/ 100;
    }
    
    alert(takeOffPercent(200, 10));  // will give you 10% off of 200 = 180


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •