获取输入的小计,然后添加

时间:2014-11-11 03:48:04

标签: javascript jquery

我有这个小提琴,可以完美地添加输入的总数,并随着输入的变化而变化。 但我也需要考虑每个项目的数量。

因此,目前的总额为105美元,但它应该是235美元,考虑到3件物品的数量为65美元。

检查小提琴会告诉你我的意思。

http://jsfiddle.net/4n7k012b/1/

        $(document).ready(function () {

            var sum = 0;
                //iterate through each textboxes and add the values
                $("input[class='cmb_text_money']").each(function () {
                    //add only if the value is number
                    if (!isNaN(this.value) && this.value.length != 0) {
                        sum += parseFloat(this.value);
                    }

                });

            $("#sum").html(sum.toFixed(2));

            $(document).on('keyup',"input[class='cmb_text_money']", function () {
                var sum = 0;
                //iterate through each textboxes and add the values
                $("input[class='cmb_text_money']").each(function () {
                    //add only if the value is number
                    if (!isNaN(this.value) && this.value.length != 0) {
                        sum += parseFloat(this.value);
                    }

                });

            $("#sum").html(sum.toFixed(2));
            console.log(sum);

            });
        }); 

1 个答案:

答案 0 :(得分:1)

这是实现这一目标的一种方法,遍历数量然后乘以价格,将每个总和存储在一个数组中,然后在最后总结

$(document).on('keyup', 'input.cmb_text_money, input.cmb_text_small', function () {
    var sum = $.map($('input.cmb_text_money'), function(item) {
        return $(item).closest('tr').prev('tr').find('input').val() * item.value;
    }).reduce(function(a, b) { 
        return a + b; 
    }, 0);

    $("#sum").html(sum.toFixed(2));
});

FIDDLE