根据多个输入字段值计算总价

时间:2015-05-05 15:19:54

标签: javascript jquery

我正在尝试制作一个包含多种不同产品的表单,这些产品有不同的选项可供计算,我需要得到总价。

场景:

(a+b) * c = price
(a+b) * c = price
(a+b) * c = price

price + price + price = toltal

这是我的脚本,但它不起作用

$(document).ready(function () {
    $("#form").on("keyup", ".form-calc", function () {
        var parent = $(this).closest(".items");
        var sum = parent.find(".form-line").val((parent.find(".form-cost").val() + parent.find(".form-cost-skift").val()).toFixed(2));
        parent.find(".form-line").val((parent.find(".form-qty").val() * sum).toFixed(2));
        var total = 0;
        $(".form-line").each(function () {
            total += parseFloat($(this).val() || 0);
        });
        $("#total").val(total.toFixed(2));
    });
});

JSFiddle

我缺少什么?

1 个答案:

答案 0 :(得分:0)

也许是这样的? https://jsfiddle.net/tnzcz8a3/3/

$(document).ready(function () {
    $("#form").on("keyup", ".form-calc", function () {
        var parent = $(this).closest(".items");
        var sum = 0;
        var total = 0;

        if (!isNaN(parent.find(".form-cost").val())) sum += +parent.find(".form-cost").val();
        if (!isNaN(parent.find(".form-cost-skift").val())) sum += +parent.find(".form-cost-skift").val();
        if (!isNaN(parent.find(".form-qty").val())) sum *= +parent.find(".form-qty").val();

        parent.find(".form-line").val(sum.toFixed(2));

        $(".form-line").each(function () {
            total += parseFloat($(this).val() || 0);
        });

        $("#total").val(total.toFixed(2));
    });
});