【问题标题】:How to count total sum jquery?如何计算总和jquery?
【发布时间】:2015-09-05 01:50:37
【问题描述】:

我有数量价格表。如果我在输入中输入数量并从下拉列表中选择颜色并选择带有价格的产品,我需要计算总和。首先,我需要数量和颜色价格的数组。其次,检查编号在表格数量列中。输入必须是最小的 30。例如:如果数字 299 - 数量是 200,如果 4300 - 数量是 3000 等等。有我的表和 jquery:

var total = $("#Total").val();
var table = Array();
$("table.quantity tr td:nth-child(1)").each(function (i, v) {
    table[i] = $(this).text();
});

console.log(table);
$('#Quantity').on("input", function () {
    var quantity = this.value;
    var count = 0;

    if (quantity >= 30) {
        $.each(table, function (i, value) {
            if (quantity >= parseInt(value)) {
                count = value;
            };
        });
        console.log(count);
    }
});
$('#select-model').on('change', function(){
    var price = $('option:selected', this).data('price');
    if (total == '') {
        total = 1;
    }
    $("#Total").val(price * total);
});

我认为数组必须是这样的:

Array 
( 
    [30] => Array 
        ( 
            [1] => 1.4 
            [2] => 1.7
...
            [8] => 
        ) 
    [50] => Array 
        ( 
            [1] => 1.1 
            [2] => 1.3
...
            [8] => 2.4
        ) 
...
    [5000] => Array 
        ( 
            [1] => 0.3 
            [2] => 0.35
...
            [8] => 1
        ) 
)

这是我的代码:http://jsfiddle.net/Dewilas/cz69vL8u/

总结果为:

例如:6.59 * 5000 * 0.3 (产品1 * 数量5000 * 颜色1)

【问题讨论】:

    标签: jquery


    【解决方案1】:

    我想,你想要乘法而不是求和 -

    看看以下是否对你有帮助 -

    您可以为所有输入添加一个通用类选择器,然后进行计算。我假设它是“我的输入”。

    $('.myinput').on('change', function () {
    
            var total = 1;
            var input_val;
    
            $('.myinput').each(function(){
    
                if($(this).attr("id") == "select-model"){
                    input_val = $('option:selected', this).data('price');
                }
                else{
                    input_val =  $(this).val();
                }
    
                if (input_val == '' || input_val == 0) {
                    input_val = 1;
                }
    
               total = total * input_val;
    
            });
    
            $("#Total").val(total);
        });
    

    注意:我默认将数量视为 1,因此默认情况下可以在总计框中看到其他输入的值,因此您可以根据需要进行更改。

    JS 小提琴:http://jsfiddle.net/cz69vL8u/22/

    【讨论】:

    • 谢谢,但不正确。您计算数量 * 颜色数量(例如:30 * color2 = 60),但我需要数量 * color2 值(30 * 1.7)。以及为什么我需要具有列值的数组
    猜你喜欢
    • 2014-09-16
    • 2019-02-18
    • 1970-01-01
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    相关资源
    最近更新 更多