我通过php循环在html中创建了5个文本框。现在我想通过javascript添加该文本框的值。我试过但它给了我错误的结果。以下是我的代码..
<? for($i=0; $i<5; $i++)
{?>
<input type="text" id="<?=$i;?>" onclick="get(id)" />
<?}?>
function get(x){
var summ=0;
for(var a=0; a<5; a++)
{
summ=summ+document.getElementById(a).value;
}
alert(summ);
}
答案 0 :(得分:1)
我认为问题可能是因为整数不是html元素的有效id。您应该尝试将其命名为input-1,input-2 ..
这是一个有效的例子。
HTML
<input type="text" id="input-1" />
<input type="text" id="input-2" />
<input type="text" id="input-3" />
<input type="text" id="input-4" />
<input type="text" id="input-5" />
使用Javascript:
var summ = 0;
for(var a=0; a<5; a++) {
summ += parseInt(document.getElementById("input-" + (a + 1)).value) || 0;
}
alert(summ);
我必须添加|| 0到实际计算,因为否则结果将是“非数字”,因为某些输入字段为空。
(请注意,在下面的小提琴中,我使用的是console.log而不是alert。所以请在控制台中查看结果)
答案 1 :(得分:1)
我猜你是把数字连接成字符串。尝试使用
解析它们parseInt(document.getElementById(a).value)
答案 2 :(得分:0)
如何使用jQuery
var sum = 0;
$('input').each(function(){
sum += $(this).val();
})