2014-03-31 51 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)'。 –