我尝试创建一个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>
答案 0 :(得分:0)
您将该值作为字符串拉出来。 JS不知道如何处理c ++,因为它将其视为字符串++。首先使用 -
将其转换为int+c++
或
parseInt(c, 10)
已更新为包含parseInt()以及+ c,如下所示。