2011-12-01 63 views
0

我有javascript每次单独统计2个单独的按钮,然后输出在同一页上的金额。这工作,但我现在试图添加第三个值输出在页面上,这是我通过将2个属性加在一起计算的点击总数。这似乎并没有工作。jQuery变量加法和其他总和

的java

<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

我没有看到与NextClick作为ID的元素。所以这个:

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); 
}