2012-10-07 7 views
0
<script type="text/javascript"> 
$(document).ready(function() { 

     var sub_total = $("sub_total").text(); 
         alert(sub_total); 
     var ship_total = $("ship_total").val() 
         alert(ship_total); 

     var new_total = sub_total + ship_total; 

     $('#new_total').html(new_total.toFixed(2)); 
    }); 

</script> 

경고를 사용하여 출력을 테스트했으며 범위 ID 안에 값을 가져 오지 않았습니다.ID로 두 요소의 값을 얻고 추가하는 방법

$<span id="sub_total"><?php echo $sub_total = number_format($this->cart->total(), 2); ?></span></td> 

이것은 페이지에 올바르게 표시되지만 경고는 빈 상자입니다. 값을 숫자가 아닌 NaN으로 계산합니다.

어떻게이 두 필드에 값을 추가합니까?

+0

자바 스크립트에서 parseInt를 사용할 때 기수를 제공하는 것이 좋습니다. https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/parseInt – thescientist

답변

1

편집 : 당신은 가치를 깜빡

- 당신은 이미 당신이

var sub_total = parseInt($("#sub_total").text());// this is where you need to use .text() 
var ship_total = parseInt($("#ship_total").text()); 

또는 같은 값을 얻을 수 jQuery를 사용하고 있기 때문에 당신은 단지 요소

을 받고 당신이 평범한 js를 유지하고 싶다면 ..

document.getElementById("sub_total").value 

텍스트에 $가 있으므로 파싱하기 전에 제거해야합니다. 정규식을 @Bubbles 명시된대로 사용하거나 $ 기호를 제거 할 방법을 사용할 수 있습니다. 예 : 문자열 .. 분할 ..

$.trim($("#sub_total").text().split('$')[1]) 

또는

$.trim($("#sub_total").text()).substring(1) 
+0

죄송합니다. 저는 'JS'에 대한 완전한 초보자입니다. 귀하의 제안으로 노력하고 있지만 구문이 혼란 스럽습니다. . 내 수정 된 질문 코드를 볼 수 있습니까? 고마워요 – fyz

+0

거기에'$'가 없습니다. 그것은 – fyz

+0

@fabio의 바깥에 있지만 html에는 거기에'$'이있는 것으로 나타납니다. 혼란 스럽습니다. –

0

wirey은 문제의 일부의 좋은 리뷰를 제공하지만 그대로 나는 그것이 충분하다 생각하지 않습니다. "parseInt"는 "$ 20"에서 작동하지 않으므로 먼저 달러 기호를 제거해야합니다.

var sub_total = parseInt($("#sub_total").text().match(/[0-9]+/))); 
var ship_total = parseInt($("#ship_total").text().match(/[0-9]+/))); 

이 그냥 범위에서 번호를 사로 잡고, 다음을 구문 분석 : 당신이 게으른 느낌이있어 경우, 이것은 좋은 정규식 즉석에서 해결 할 수 없습니다 아무것도 없다.

+0

'$'는'PHP'가 반환 한 값이 아닌'HTML'에 있습니다. 이게 네가 말하는거야? – fyz

+0

게시 한 항목에는 PHP가 없지만 "sub_total"및 "ship_total"범위에는 달러 값 문자가 포함되어 있습니다. 그것들을 정수로 파싱 할 수는 없으므로 달러 값을 정수로 파싱하기 전에이를 제거해야합니다. – Bubbles

+0

죄송합니다. 여기에'PHP'가 생략되었습니다. 코드를 수정했습니다. 설명을 보려면 새 개정판을 참조하십시오. – fyz

관련 문제