2013-10-27 1 views
0

다음 테이블 행은 합계로 추가해야하는 형식으로되어 있습니다. 그렇게하려면 금액에서 "$"및 ","을 제거해야합니다. 추가클래스 선택기를 사용하여 전체 열을 가져 오는 중

<tr> 
    <td>football</td> 
    <td class="price" style="text-align: right">$23,432.00</td> 
    </tr> 
    <tr> 
    <td>baseball</td> 
    <td class="prcice" style="text-align: right">$23,432.00</td> 
    </tr> 
    <div id="result"></div> 

기능 내가 호출이 사용하고() 내 document.ready 내부보다

function calculateSum() { 
       var sumtotal = 0; 
       $(".price").each(function() { 

        var value = $(this).text($(this).text().replace(/\$\$/g, '$',','));     
       alert("value" + value); 
        if (!isNaN(value) && value.length != 0) { 
         sumtotal += parseFloat(value); 
        } 
       }); 
       alert(sumtotal); 
       $('#result').text(sumtotal); 
      }; 

입니다.

$(document).ready(function() { 
$('.price').each(function() { 
        $(calculateSum); 
       }); 
}); 

그것은 나에게주는 결과에 대한 0 값을 내가 경고 값 [개체 개체] 내가 제대로 총을 얻을 수있는 방법, 도와주세요 얻을. 감사합니다

답변

1

replace 방법을 올바르게 사용하고 있지 않으므로 두 가지 매개 변수 만 사용해야합니다. 첫 번째 것은 바꿀 정규식 또는 문자열이고 두 번째 것은 새로운 값입니다. 이것을 시도해보십시오 :

var value = "$23,432.00"; // here you pick the value from your table cell 
var floatValue = parseFloat(value.replace(/[\$,]/g, '')) 
alert(floatValue) 

또한 @charlietfl의 답변을 살펴 보겠습니다. 코드에서 수정해야 할 몇 가지 다른 문제를 지적하고 있습니다. 여기 놀이에 문제

0

모든 종류 :

먼저 $(calculateSum);는 일반 함수를 호출 할 수있는 방법이 아니다. 그것은 각 $('.ethnTotal')을 통해 calculateSum() 당신 루프 내에서 단순히 calculateSum();

다음으로해야하지만 $(document).ready에 당신은 $('.ethnTotal').each 또 다른 루프를 만들고 기하 급수적 calcultaion을 팽창 것 루프

이을의 각 패스에 calculateSum()를 호출하려고! !

관련 문제