2013-06-08 5 views
0

each JQuery 함수로 여러 필드를 합산하려고하는데 항상 '0'이 반환됩니다. This topic was discussed here. 코드 스 니펫을 빌 렸습니다.Summing 클래스 값은 항상 0으로 돌아갑니다.

구문에서 잘못된 것을하고 있지만 그 내용을 확인할 수 없습니다. null 값 또는 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> 

답변

1

다른 질문에 대한 여러분의 코드가 (이 상황에 대한) 올바른 것입니다. <input> 요소에는 텍스트가 없습니다. 값은 다음과 같습니다.

$(this).val() 
+0

굉장! 그것을 아주 잘 정돈했습니다. 아직도 배우는 것이 너무 많습니다! – Shrout1

관련 문제