2011-12-01 91 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); 
}