2014-03-31 74 views
0

後,JavaScript變量不會在函數中增加我嘗試創建一個JavaScript函數,該函數將有一個變量(var c),它將獲取div標記的內部文本(文本應該是數字,所以以某種方式它應該使數字變量),並且當用戶點擊按鈕時增加1。在getElementById div div

問題:變量c的值不增加。它增加一次,但如果用戶再次點擊該按鈕,它仍然保持不變。

//variable $j is in for loop, and the size depends on the other part of the code. 
<input type="button" value="Add more" onClick="addmore('.$j.');"> 
$kxx .= '<div id="K'.$j.'">'.$kx[$j].'</div>'; 

$ kx例如是1,4,5,2,33,33。而當索引是例如1,而不是遞增c(2,3,4,5 ...),如果用戶點擊按鈕兩次,它會給他們2,2 - 而不是2,3。

<script type="text/javascript"> 
function addmore(index) { 
    var c = document.getElementById("K"+index).innerHTML; 
    c++; 
    var textarea = document.createElement("textarea"); 
     textarea.name = "odg" + index + c; 
     var div = document.createElement("div"); 
     div.innerHTML = textarea.outerHTML; 
     document.getElementById("inner"+index).appendChild(div); 
} 
</script> 
+0

如果您想將c視爲整數,請在獲取它之後將其轉換爲一個整數。 – kinakuta

+0

我把一個數字(整數)放在變量c中,但它仍然不能增加。 – mpavlovic89

+1

爲什麼會增加?你做'C++',但是你不會把它分配回你得到它的地方。所以你的第一行總會返回相同的數字。 –

回答

0

您正在將該值作爲字符串拉出。 JS不知道如何處理C++,因爲它將其視爲string ++。它與第一轉換爲int -

+c++ 

parseInt(c, 10) 

更新以包括parseInt函數()與+ C沿如下建議。

+0

它stil不起作用。即使我改變var c = document.getElementById(「K」+ index).innerHTML; var c = 11;它不會再增加。 :( – mpavlovic89

+0

我建議改變這parseInt(c); + c的東西是相當醜陋,並使代碼不可讀 – weeknie

+1

@weeknie:一般不認同'+',但在這種情況下,是的。 'parseInt函數(C,10)'。 –