Javascript 在循环中输入时不执行Parse Int
未执行Parse Int。我不明白为何会出现这个问题Javascript 在循环中输入时不执行Parse Int,javascript,html,parseint,Javascript,Html,Parseint,未执行Parse Int。我不明白为何会出现这个问题 function compute(){ var totalDis = document.getElementById("totaldisplay"); var htmlDis = ""; htmlDis+="<table><tr><th>Student Name</th><th>Total Mark</th>"; for(var row=0
function compute(){
var totalDis = document.getElementById("totaldisplay");
var htmlDis = "";
htmlDis+="<table><tr><th>Student Name</th><th>Total Mark</th>";
for(var row=0;row<names.length;row++)
{
var valMrk = document.querySelectorAll("#row" + row + ".stdMrk");
var totalval = 0;
for(var i=0;i<=5;i++)
{
totalval += parseInt(valMrk[i].Value);
//alert("testing compute function");
}
htmlDis += "<tr id='row" + i +"'><td style='border:1px solid black;'>"+names[row]+"</td><td style='border:1px solid black;'>"+totalval+"</td>";
}
htmlDis+="</table>";
totalDis.innerHTML=htmlDis;
}
函数计算(){
var totalDis=document.getElementById(“totaldisplay”);
var htmlDis=“”;
htmlDis+=“学生姓名总分”;
对于(var row=0;row显然valMrk.length
小于5,因此在循环中它会到达不存在的索引,并生成错误。像这样更改它(同时确保所有值都可以解析为int):
var valMrk=document.queryselectoral(“#行”+行+”.stdMrk”);
var totalval=0;
对于(var i=0;i@KrishnaRamdin我编辑了我的答案,请看一下当我在循环中添加if条件时,函数本身没有执行。@KrishnaRamdin我有一个拼写错误,我已经更正了,应该是IsNaN
notisNan
它仍然没有添加数字并为每行名称显示0。。帮助…基本上我有通过for循环生成的一组输入标记,然后此函数应根据名称添加这些数字,并在名称旁边显示添加的数字。
for(j=0;j<names.length;j++)
{
html+="<tr><td style='border:1px solid grey;'>"+names[j]+"</td>";
for(i = 0; i<num_of_ica; i++)
{
html+="<td><input type='text' class='stdMrk' placeholder='0' value='0' /></td>";
}
for(var k=1;k<=1;k++)//display project or final exams txt box
{
html+= "<td><input type='text' class='stdMrk' placeholder='0' value='0' /></td>";
}
html+="</tr>";
}
var valMrk = document.querySelectorAll("#row" + row + ".stdMrk");
var totalval = 0;
for(var i=0;i<valMrk.length;i++)
{
if(!isNaN(valMrk[i].Value)
totalval += parseInt(valMrk[i].Value);
//alert("testing compute function");
}