2010-11-23 8 views
0

Comment obtenir la valeur de la fonction A à la fonction B et alternativement? mon code est commecomment obtenir la valeur d'une fonction à une autre fonction

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

Pls me aider à soustraire l'élément sélectionné lorsque nous désélectionnant.

+0

si cela a été formaté mieux ce serait plus de chances d'obtenir une réponse – NimChimpsky

Répondre

1

Vous pouvez simplifier l'ensemble de seulement obtenir le total de ceux cliqués à chaque fois, comme ceci:

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

au lieu d'un des attributs personnalisés, nous sommes juste en utilisant .toggleClass() pour ajouter/supprimer une classe clicked à chaque clic, et en utilisant cette même classe pour sélectionner les lignes "on" lors du calcul du total. Le bonus ici est que vous pouvez maintenant définir une classe CSS pour aller avec pour ajouter un peu de style gratuit, comme ceci:

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

HI Nick Merci Pour m'a donné la réponse, mais quand vous décochez la même rangée, la valeur doit moins (soustraire) de totalQuantity. Comment faire cela? – VijayKR

+0

@VijayKR - Je ne suis pas ... avec cette approche, vous commencez à '0' et totalisez les lignes cochées, il n'y a pas besoin de moins rien, cela ne fera pas partie du total quand il n'est pas vérifié, es-tu après quelque chose * autre * qu'un total? –

Questions connexes