2014-10-24 2 views
2

나는 돈 값으로 가득 찬 열 중 하나 인 정보 묶음을 가진 테이블을 가지고 있습니다. 다음과 같이 보입니다.보이는 테이블 열에서 달러 값을 추가하십시오.

$23.21 
$347.34 
$3,200,884.00 

서버 측 값을 추가 할 수 있지만 필터를 사용하면 정보에 대해 서버를 다시 치고 싶지 않습니다. 어떻게 내가 테이블의 하단에 총 수있는 값을 추가합니까. 까다로운 부분은 필터를 기반으로하는 것이므로 특정 값을 표시하거나 숨김으로써 눈에 보이는 금전적 가치 만 합치기를 원합니다. 미리 도움을 주셔서 감사합니다 !!!! 이 같은

+0

당신은 그 값이되는 HTML을 게시 할 수 있습니까? –

답변

2

뭔가

var total = 0; 

// the selector must be adjusted to the actual html 
$('td.price:visible').each(function(){ 
    var value = $(this).text().slice(1).replace(/,/g,''); 
    total += +value; 
}); 

// use the total variable here to display it somewhere in your page 
+0

아름답게 일했습니다! 대단히 감사합니다! – Damien

+0

당신은 그 정규식을 설명 할 수 있다고 생각합니까? – Damien

+0

'slice (1)'은 시작에서'$'문자를 제거하고 정규 표현식은 모든', '문자를 매치하고 제거합니다. 'g'는 문자열의 ** 모든 ** 쉼표와 일치하도록 전역 플래그를 설정합니다. 따라서 숫자로 해석 할 수있는'3200884.00'과 같은 것으로 끝납니다. –

0

는 CSS를 통해 '$'기호를 삽입하는 의사 요소를 사용하여 (은 실제 HTML을 모른 채 정확하게 캔트). 이렇게하면 세포 안에 순수한 숫자를 넣을 수 있습니다.

var sum = 0; 
 

 
var cells = document.getElementsByClassName('sum'); 
 
for(var i=0; i< cells.length; i++) { 
 
    sum += parseInt(cells[i].innerText); 
 
    } 
 

 
document.getElementsByClassName('total')[0].innerText = sum;
td.dollar:before { 
 
    content: "$"; 
 
}
<table> 
 
    <tr> 
 
    <td class="sum dollar">12</td> 
 
    <td class="sum dollar">28</td> 
 
    <td class="total dollar"></td> 
 
    </tr> 
 
</table>

관련 문제