2011-12-01 2 views
0

별도의 버튼 2 개를 클릭 할 때마다 자바 스크립트가 별도로 계산되므로 같은 페이지에 금액이 출력됩니다. 이것은 작동하지만, 이제는 두 속성을 함께 추가하여 계산할 클릭 수의 합계 인 페이지 출력에 세 번째 값을 추가하려고합니다. 이것은 단지 작동하지 않는 것 같습니다.jQuery 변수 추가 및 기타 합계

자바

<script type="text/javascript"> 
var NextClick = 0; 
var PrevClick = 0; 
var TotalClicks = 0; 

function getValueNext() 
    { 
    var y=document.getElementById("NextClick").value = ++NextClick 
    $('.NextClick').val(y); 
    } 

function getValuePrev() 
    { 
    var x=document.getElementById("PrevClick").value = ++PrevClick 
    $('.PrevClick').val(x); 
    } 

function getSumClicks() 
    { 
    var z= x + y 
    $('.TotalClicks').val(z); 
    } 

</script> 

HTML을

Clicked next <input class="NextClick" size="3" onfocus="this.blur();" value="0"> times. 
    Clicked prev <input class="PrevClick" size="3" onfocus="this.blur();" value="0"> times. 
    Clicked total <input class="TotalClicks" size="3" onfocus="this.blur();" value="0">  times. 

이의 요점은 각 버튼에 클릭에서 나는 그들이에 남아 있었다 그래서 그들이 선택하는 어떤 이미지가 해결할 수 있다는 것입니다.

두 개의 값을 기록하는 대신 다음에 클릭 할 때 하나를 추가하는 함수가있을 수 있지만 prev를 클릭 할 때 하나만 가져 오는 함수가 있으므로이 코드를 작성하는 방법을 모르겠습니다.

+0

당신이 http://jsfiddle.net에 모의를 할 수 없습니다 :

아마 당신이 원하는? 또한 javascript는 기능 수준 범위를 가지고 있으므로'getSumClicks()'는 코드가'x'와'y'에 접근 할 수 없습니다. 'NextClick'과 다른 것들이있는 곳으로 그들을 이동시켜야 할 것입니다. – JesseBuesking

답변

0

ID가 NextClick 인 요소가 표시되지 않습니다. 그래서 :

var y=document.getElementById("NextClick").value = ++NextClick 

가된다 :

var y = ++NextClick 

번째 X 및 Y는 해당 기능에 대한 로컬 변수이다. 그들은 getSumClicks() 안에 존재하지 않습니다.

function getValueNext() { 
    $('.NextClick').val(++NextClick); 
} 

function getValuePrev() { 
    $('.PrevClick').val(++PrevClick); 
} 

function getSumClicks() { 
    $('.TotalClicks').val(NextClick + PrevClick); 
}