jQuery - 填写表格输入的计数器(即时更新)

jQuery - counter of filled in form inputs (updated on the fly)

我有基本的订单(4 个输入仅用于测试目的),我想计算输入值(总项目)的数量,其中填写的值大于 0(基本上订购了多少产品,不与它们的数量混淆)。当我添加产品时很好,当我删除项目(将它们设置为 0)时,问题就开始了。你能帮我算一下吗

工作 jsfiddle:http://jsfiddle.net/nitadesign/97tnrepg/33/

并用几行文字将您的注意力转移到正确的地方:

function GetOrder(curId){
var order = null;

for(i = 0; i< orders.length; i++){
     if(orders[i].id == curId){
        order = orders[i];
        break;
    }
}

return order;
}

function CalculateTotal(){
var total = 0;
for(i = 0; i< orders.length; i++){
    total = total + orders[i].packTotal;
}
console.log(total);

if(total > 0){
    $("#order_total").html('Total Items:' + i + '<br>' + 'Order Subtotal: ' + total);
    $("#order_total").show();
    $('.submitorder').show();
}
if(total == 0){
    $("#order_total").html('Your shopping basket is empty');
    $("#order_total").show();
    $('.submitorder').hide();
}
}

非常感谢您的提前帮助!

只需使用 jquery 选择器并遍历它。

$("input").change(function(){
    var counter = 0;
    $("input").each(function(){
        if($(this).val() != "" && $(this).val() != 0) counter++;
    });

    $("#order_total").html('Total Items:' + counter + '<br>' + 'Order Subtotal: ' + total);
});
if(total > 0){
    var counter = 0;  
    $("input[type=text]").each(function(){
    if($(this).val() != "" && $(this).val() != 0) counter++;
    });
    $("#order_total").html('Total Items:' + counter + '<br>' + 'Order Subtotal: ' + total);
    $("#order_total").show();
    $('.submitorder').show();
}
if(total == 0){
    $("#order_total").html('Your shopping basket is empty');
    $("#order_total").show();
    $('.submitorder').hide();
}