在getElementById之后,JavaScript变量在函数中没有增加

时间:2014-03-31 17:20:30

标签: javascript dom

我尝试创建一个JavaScript函数,它将具有一个变量(var c),它将获得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>

1 个答案:

答案 0 :(得分:0)

您将该值作为字符串拉出来。 JS不知道如何处理c ++,因为它将其视为字符串++。首先使用 -

将其转换为int
+c++ 

parseInt(c, 10)

已更新为包含parseInt()以及+ c,如下所示。