2016-11-10 140 views
0

我想每次用户点击一个add row按钮时都要保持计数。这是我的代码不工作。Javascript不会递增变量

function add_more_row() { 
 
    var rows_count = ParseInt(document.getElementById("rows_count").value); 
 
    rows_count += 1; 
 
}
<input type="text" value="0" id="rows_count" /> 
 
<input onclick="add_more_row();" type="button" value="add row" />

我在做什么错?

+1

只要你知道,你读过一/相关问题的声明是没有帮助的,如果你不链接到哪些问题你指的是并描述他们为什么没有帮助。 – 4castle

+0

在控制台中显示什么? – 2016-11-10 05:11:09

回答

2

你的代码只得到值,并增加它,不分配值输入字段。加入这一行的增量语句后:

document.getElementById("rows_count").value = rows_count; 

而且它parseInt()小写pParseInt()

function add_more_row() { 
 
    var inputRow = document.getElementById("rows_count"), 
 
     rows_count = parseInt(inputRow.value); 
 
    rows_count += 1; 
 
    inputRow.value = rows_count; 
 
}
<input type="text" value="0" id="rows_count" /> 
 
<input onclick="add_more_row();" type="button" value="add row" />

+1

从DOM中取回元素两次是sl。。 – 2016-11-10 05:11:34

0

这是因为你声明了函数内的变量。 因此,变量不会增加。

var rows_count=ParseInt(document.getElementById("rows_count").value); 
function add_more_row() 
{ 
    rows_count += 1; 
} 
+0

不,我只需要该函数范围内的变量。谢谢你。 – the7k

+0

不幸的是,这是行不通的。你还没有用'ParseInt'解决这个错误。 – 2016-11-10 05:11:51

1

function add_more_row() { 
 
    var rows_count = parseInt(document.getElementById("rows_count").value); 
 
    rows_count += 1; 
 
    document.getElementById("rows_count").value= rows_count; 
 
}
<input type="text" value="0" id="rows_count" /> 
 
<input onclick="add_more_row();" type="button" value="add row" />