añadir item

by aprudencio

HTML

<div id="menuAnadirItem">
    <div class="fieldRow">
        Cantidad: <input type="text" id="cantidad" size="3" value="0" />
    </div>
    <div class="fieldRow">
        Precio: <input type="text" id="precio" size="3" disabled="disabled" value="3.2456700000" />
    </div>
    <div class="fieldRow">
        Sub-Total: <input type="text" id="subTotal" size="3" disabled="disabled" value="0" />
    </div>
    <div class="fieldRow">
        Descuento: <input type="text" id="descuento" size="3" value="0" /> %
    </div>
    <div class="fieldRow">
        Incremento: <input type="text" id="incremento" size="3" value="0" /> %
    </div>
    <div class="fieldRow">
        Total: <input type="text" id="total" size="3" disabled="disabled" value="0" />
        
        <span id="tt"></span>
    </div>
</div>

CSS

.fieldRow {
    margin: 3px;
}

JavaScript

$("#cantidad").keyup(function () {calculo();}).focus();
$("#incremento").keyup(function () {calculo();});
$("#descuento").keyup(function () {calculo();});

$("#incremento, #descuento").keyup(function (e) {validarIncDesc(this,e);});
    
function validarIncDesc(obj,e)
{
    if(e.which == 40)
    {
      $(obj).val($(obj).val()*1-1); 
       calculo(); 
    }
    if(e.which == 38)
    {
      $(obj).val($(obj).val()*1+1);  
        calculo();
    }
    
    if($(obj).attr("id") == "incremento" && !isEmpty($(obj).val()))
    {
        $("#descuento").val(0);
    }
    if($(obj).attr("id") == "descuento" && !isEmpty($(obj).val()))
    {
        $("#incremento").val(0);
    }
}

function isEmpty(val)
{
    if(val==0 || val=="")
        return true;
    else 
        return false;
}

function calculo() {
    var cant = $("#cantidad").val();
    var precio = $("#precio").val();
    var subtotal = (cant * precio);
    
    var inc = $("#incremento").val()/100; 
    var desc= $("#descuento").val()/100;
    
    var total = subtotal + (subtotal * inc) - (subtotal * desc);
    $("#tt").html(total);
    $("#total").val(roundNumber(total,2));
    
}

function roundNumber(num, dec) {
    var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
    return result;
}