2013-06-08 4 views
0

J'essaye de faire la somme de plusieurs champs avec une fonction JQuery each mais je reçois toujours un '0'. This topic was discussed here. J'ai emprunté l'extrait de code. Je fais quelque chose de mal avec ma syntaxe, mais je ne peux pas déterminer ce que c'est. Je suis retourné une valeur nulle ou 0 tout le temps.La somme des valeurs de classe retourne toujours à 0

<!DOCTYPE html> 
<html lang="en"> 
    <head> 

    </head> 
    <body> 
    <table> 
     <tr> 
      <td> 
      Value 1 
      </td> 
      <td> 
      Value 2 
      </td> 
      <td> 
      Sum 
     </td> 
    </tr> 
    <tr> 
     <td> 
      <input class="SumText" type="text" id="Value1"> 
     </td> 
     <td> 
      <input class="SumText" type="text" id="Value2"> 
     </td> 
     <td> 
      <input class="TotalText" type="text" id="Total"> 
     </td> 
    </tr> 
</table> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script> 
    $(document).ready(function(){ 
     $('.SumText').change(function(){ 
      var sum = 0; 
      // iterate through each td based on class and add the values 
      $('.SumText').each(function() { 
       var value = $(this).text(); 
       alert("This.Text: " + $(this).text() + "Value: " + value); 
       // add only if the value is number 
       if(!isNaN(value) && value.length != 0) { 
        sum += parseFloat(value); 
       } 
      }); 
      $('#Total').val(sum); 
     }); 
    }); 

</script> 

Répondre

1

Votre code dans l'autre question est correcte (cette situation). <input> les éléments n'ont pas de texte. Ils ont des valeurs:

$(this).val() 
+0

Génial! Cela l'a arrangé assez bien. Encore tellement à apprendre! – Shrout1

Questions connexes