2010-11-23 21 views
0

関数Aから関数Bへの値の取得方法は? 私のコードは、PLSのは、我々が選択解除され、選択した項目を差し引いに私を助けて関数から別の関数への値の取得方法

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; 
     } 
    }); 
}); 

のようなものです。

+0

これは、それを取得することが多くなり、より良いフォーマットされた場合の答え – NimChimpsky

答えて

1

あなたはちょうどこのように、毎回クリックされたものの合計を取得することによって、全体のそれを簡素化することができます:代わりにカスタム属性の

$(".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));  
}); 

を、私達はちょうど追加する.toggleClass()を使用している/ clickedクラスを削除します合計を計算する際に、同じクラスを使用して「オン」行を選択することができます。

.clicked { background-color: green; } 
+0

HIニック ありがとう:ここでのボーナスは、あなたが今、このように、自由のためのいくつかのスタイルを追加することで行くことにCSSクラスを定義することができますです与えられた私の答えは、同じ行のチェックを外したとき、値はtotalQuantityからマイナス(減算)する必要があります。これを行うには? – VijayKR

+0

@VijayKR - 私はこの方法では「0」で始まり、チェックされた行を合計しています。何も必要ないです。チェックされていないときには合計には含まれません。あなたは何かを追いかけていますか? –

関連する問題