Javascript 如何从一个函数到另一个函数获取值

Javascript 如何从一个函数到另一个函数获取值,javascript,jquery,Javascript,Jquery,如何获得从函数A到函数B的值,或者? 我的代码是 var $quantities = $('input.PackingCharge'); $(".prdItems tr").toggle(function() { var totalQuantity = 0; $(this).attr('clickedItem', '1'); //Calculate the TotalValu $quantities.each(function() { var G

如何获得从函数A到函数B的值,或者? 我的代码是

var $quantities = $('input.PackingCharge');
$(".prdItems tr").toggle(function() {
    var totalQuantity = 0;
    $(this).attr('clickedItem', '1');

    //Calculate the TotalValu
    $quantities.each(function() {
        var GAtrr = (this.parentNode.parentNode);
        if (GAtrr.getAttribute('clickeditem') == '1') {
            var quantity = parseFloat(this.value);
            totalQuantity += quantity;
        }
    });
    // Total Value i hav append to the div and show the Total Value
    $('#materialsCast').html(parseFloat(totalQuantity).toFixed(2));
}, function() {
    // when i click this function the value not showing
    console.log(totalQuantity.toFixed(2) + 'After');
    // Wht are the item cliked  that i clike again the value need to subtration
    $quantities.each(function() {
        var GAtrr = (this.parentNode.parentNode);
        if (GAtrr.getAttribute('clickeditem') == '1') {
            var quantity = parseFloat(this.value);
            totalQuantity -= quantity;
        }
    });
});

当我们取消选择时,请帮助我减去所选项目。

您可以通过获取每次单击的项目总数来简化它,如下所示:

$(".prdItems tr").click(function(){ 
    $(this).toggleClass('clicked');

    var totalQuantity = 0;                      
    $('.prdItems tr.clicked input.PackingCharge').each(function() {
      totalQuantity += parseFloat(this.value);
    });
    $('#materialsCast').html(parseFloat(totalQuantity).toFixed(2));     
});
.clicked { background-color: green; }
我们不使用自定义属性,而是在每次单击时添加/删除一个
clicked
类,并在计算总数时使用该类选择“on”行。这里的好处是,您现在可以定义一个CSS类来免费添加一些样式,如下所示:

$(".prdItems tr").click(function(){ 
    $(this).toggleClass('clicked');

    var totalQuantity = 0;                      
    $('.prdItems tr.clicked input.PackingCharge').each(function() {
      totalQuantity += parseFloat(this.value);
    });
    $('#materialsCast').html(parseFloat(totalQuantity).toFixed(2));     
});
.clicked { background-color: green; }

如果这一行的格式更好,它更有可能得到一个答案。谢谢你给了我答案,但是当你取消选中同一行时,这个值需要从totalQuantity中减去。怎么做?@VijayKR-我不明白……用这种方法,你从
0
开始,把选中的行加起来,没有必要减去任何东西,只要不检查它,它就不会是总数的一部分,你想要的不是总数吗?