otengkwaku 30 Newbie Poster

You have create the calcTaxes but you are not calling it.
i think you should do it like this:

var calculate_tax = function() {
    var total;
    var income = parseFloat( $("income").value );
    $("tax").value =  calcTaxes(income);
    console.log(tax);
    function calcTaxes(amount){
    var calculate = 0;
    if(amount > 85650){
        tax = (amount - 85650) * .28 + 870.0+(35350-8700)*.15+(89350-36900)*.25;
    }
    else if( amount > 35350){
    tax = (amount - 35350) * .25 + 870.0+(35350-8700)*.15;    
    }
    else if(amount > 8700){
    tax = (amount - 8700) * .15 + 870.0;
    }
    else{
       tax = amount * .10;
        }
    tax += amount * .153;
    return tax;
    /*
    10% on taxable income from $0 to $8,700, plus
    15% on taxable income over $8,700 to $35,350, plus
    25% on taxable income over $35,350 to $85,650, plus
    */
}
}
Blue_2 commented: thank you for the help bro +0
otengkwaku 30 Newbie Poster

first of all remove the '{}' at line 24 and 25 of the code since line 26 to 28 is part of the function calculatePtotal;
here is the corrected code

<script type="text/javascript">
function calculatePtotal() {
    var totalofptotal = 0;//initialise the accumulator
    var wholeqtty = 0; //initialise the acumulator of quantity
    var totalofweight = 0; //initialise the acumulator of weight
    $("tr.calc", "#myTable", "#panierform").each(function (i, row) {
        $row = $(row);
        var value = parseFloat($('.prix', $row).val());
        var quantity = parseFloat($(".quantity", $row).val()) || 0;
        var poid = parseInt($(".poid", $row).val());
        var shipping = parseFloat($(".shipping", $row).val());
        var ptotal = (value * quantity).toFixed(2);//calculate row total
        var weight = (poid * quantity) .toFixed(0);//calculate row weight
        $(".quantiy", $row).val(quantity);//display row total
        $(".ptotal", $row).val(ptotal);//display row total
        $(".weight", $row).val(weight);//display row total
        totalofptotal += parseFloat(ptotal);//accumulate the row totals to make a grand total
        wholeqtty += parseInt(quantity);
        totalofweight += parseInt(weight);
    });
    $("#wholeqtty") .val(wholeqtty.toFixed(0));
    $("#totalofweight") .val(totalofweight.toFixed(0));
    $("#totalofptotal").val(totalofptotal.toFixed(2));//display the product total
    var shippingtotal = parseFloat(shipping.value) * totalofweight
    $("#shippingtotal").val(shippingtotal.toFixed(2));//display row total
}
calculatePtotal();
$(".quantity, .shipping").change(function () {
    calculatePtotal();
});
</script>

for some strange reason the value is shipping at line 26 is still a dom element.
but the code should work

otengkwaku 30 Newbie Poster

U must remember that parseFLoat convert a string to a floating point number any thing else and it will return NaN [more on parseFloat ] ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat) at line 18 of your code u are trying to convert to float a value that is already a float so remove the parseFloat at line 18 and it should work Also on line 20 u are doing the same thing with parseInt. Remove it and it will work

otengkwaku 30 Newbie Poster

since the problem is solve pls mark it as solved

otengkwaku 30 Newbie Poster

@evollutionfalling; can you use arrys to make the jod esaly