SO question 35381534

by Felipe Franco

HTML

<script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
<table class="table cart">
        <thead>
            <tr>
                
                <th class="cart-product-thumbnail">&nbsp;</th>
                <th class="cart-product-name">Produto</th>
                <th class="cart-product-quantity">Quantidade</th>
                <th class="cart-product-price">Precço Unitario</th>
                <th class="cart-product-subtotal">Total</th>
            </tr>
    </thead>
    <tbody>
            <tr class="cart_item">


                <td class="cart-product-thumbnail">

                </td>

                <td class="cart-product-name">
                    <a href="#">Pera</a>
                </td>



                <td class="cart-product-quantity">
                    <div class="quantity clearfix">
                        <input type="button" value="-" class="minus" field="quantity">
                        <input type="text" id="quantity" name="quantity" value="1" class="qty" />
                        <input type="button" value="+" class="plus" field="quantity">
                    </div>
                </td>
                <td class="cart-product-price">
                    R$ <span id="price" class="amount">50000</span>
                </td>
                <td class="cart-product-subtotal">
                    <span id="total" class="total_amount"></span>
                </td>
            </tr>
             <tr class="cart_item">


                <td class="cart-product-thumbnail">

                </td>

                <td class="cart-product-name">
                    <a href="#">Uva</a>
                </td>

 

                <td class="cart-product-quantity">
                    <div class="quantity clearfix">
                        <input type="button" value="-" class="minus" field="quantity">
                        <input type="text" id="quantity" name="quantity" value="1" class="qty" />
                        <input...

JavaScript

function calculate(obj){
            var price = parseFloat($(obj).parent().parent().parent().find('.amount').text()) || 0;
            var quantity = parseInt($(obj).parent().find('.qty').val());
            var total = price * quantity;
           
           $(obj).parent().parent().parent().find('.total_amount').text(total);
        }

        function changeQuantity(num,obj){
     
            $(obj).parent().find('.qty').val( parseInt($(obj).parent().find('.qty').val())+num);
        }

        $().ready(function(){
            //calculate();
            $(".minus").click(function(){
                changeQuantity(-1,this);
                calculate(this);
            });
            $(".plus").click(function(){
                changeQuantity(1,this);
                calculate(this);
            });

           
							$(".qty").keyup(function(e){
								if (e.keyCode == 38) changeQuantity(1,this);
                if (e.keyCode == 40) changeQuantity(-1,this);
                calculate(this);
            });


        });