我目前在一个小的 javascript 项目中遇到了一些关于 innerHTML 函数的问题。本质上,我有一些 HTML 表单复选框,它们会根据是否选中它们来更改数字(显示在同一页面上)。这个想法很像一个IP地址。结果是 0 到 255 之间的数字。
但是,我想要做的是,每当用户单击复选框时,我都需要动态更改该数字。想法类似于我们在这个论坛上写问题时使用的概念。当您键入时,下面的文本会动态变化,以准确显示随着它的变化而发生的变化。
我的代码运行得不太好。请问你能帮帮我吗?它不断给我消息“未定义”而不是总和。谢谢你的帮助。
JavaScript
function displayOctets01(){
var octet01 = new Array(8);
octet01[0] = document.getElementById('octect0101');
octet01[1] = document.getElementById('octect0102');
octet01[2] = document.getElementById('octect0103');
octet01[3] = document.getElementById('octect0104');
octet01[4] = document.getElementById('octect0105');
octet01[5] = document.getElementById('octect0106');
octet01[6] = document.getElementById('octect0107');
octet01[7] = document.getElementById('octect0108');
var firstOctect;
if(octet01[0]==true){
firstOctect+=1;
}
else if(octet01[1]==true){
firstOctect+=2;
}
else if(octet01[2]==true){
firstOctect+=4;
}
else if(octet01[3]==true){
firstOctect+=8;
}
else if(octet01[4]==true){
firstOctect+=16;
}
else if(octet01[5]==true){
firstOctect+=32;
}
else if(octet01[6]==true){
firstOctect+=64;
}
else if(octet01[7]==true){
firstOctect+=128;
}
document.getElementById("octets01").innerHTML = firstOctect;
}
else if(octet01[7]==true){
firstOctect+=128;
}
document.getElementById("octets01").innerHTML = firstOctect;
}
我怀疑我处理变量的方式可能有问题。
演示:http: //jsfiddle.net/3TyV3/