Buongiorno a tutti,
ho un problema con l'incremento delle quantità da inserire in un carrello.....
ho 3 articoli e per ognuno vorrei inserire la quantità e vedere subito il risultato, partendo da quantità 0 (zero)
il codice mi funziona, ma solo se al secondo click..... mi potete aiutare?!
ecco il codice
codice HTML:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8" />
    <title>carrello</title>
<style type="text/css">
<!--
#Container li {
    display:block;
    clear:both;
    width:300px;
    padding:0px;
    margin-bottom:10px;
}
#Container .less {
    border: thin solid #030;
    padding:5px 10px;
    float:left;
    cursor:pointer;
}
#Container .more {
    border: thin solid #030;
    padding:5px 10px;
    float: right;
    cursor:pointer;
}
-->
</style>
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script type="text/javascript">
        function incrQty() {
            var totQty = 0;
            var partial = 0;
            $("#Container li").each(function () {
                var qty = new Number($(this).children('.qty').val());
                var money =  new Number($(this).children('.money').val());
                totQty = totQty + qty;
                partial = partial + (qty * money);
            });
            $("#totQty").html(totQty);
            $("#totMoney").html(partial);

        }
    function quantityWidget(){
    var currval;
    $("#Container li .less").click(function(){
        currval = parseInt($(this).parent().find("input.qty").val());
        if (currval > 0){
        $(this).parent().find("input.qty").val((currval-1));
        }
    });
    $("#Container li .more").click(function(){
        currval = parseInt($(this).parent().find("input.qty").val());    
        $(this).parent().find("input.qty").val((currval+1));
    });
    
    $("#Container li input.qty").keyup(function(){
        currval = $(this).val();
        var intRegex = /^\d+$/;
        var floatRegex = /^((\d+(\.\d *)?)|((\d*\.)?\d+))$/;
        if(isNaN(currval)) {
            alert("Inserire solo numeri");
            $(this).val(1);
        }
    });
}

$(function(){
    quantityWidget();
});
$(function(){
    incrQty();
});

    </script>
</head>
<body>
    <h1>Esempio di aggiunta campi a volo e somma con jQuery</h1>
    <ul id="Container">
        <li>
            <div class="less"><a href="#" onClick="incrQty()">-</a></div><input type="text" value="1" class="qty" /><div class="more"><a href="#" onClick="incrQty()">+</a></div> x <input type="text" value="2.50" class="money" readonly />  
        </li>
        <li>
            <div class="less"><a href="#" onClick="incrQty()">-</a></div><input type="text" value="0" class="qty" /><div class="more"><a href="#" onClick="incrQty()">+</a></div> x <input type="text" value="3.00" class="money" readonly />  
        </li>
        <li>
            <div class="less"><a href="#" onClick="incrQty()">-</a></div><input type="text" value="0" class="qty" /><div class="more"><a href="#" onClick="incrQty()">+</a></div> x <input type="text" value="3.50" class="money" readonly />
        </li>
    </ul>
    <br />
    TOTALE PRODOTTI: <strong id="totQty">0</strong><br />
    TOTALE COSTO: € <strong id="totMoney">0</strong>
</body>
</html>