for循环之后未执行的代码--javascript
我正在编写一个函数,该函数应该循环遍历我所有的复选框,并将选中的复选框的“值”加载到数组中,但是除了第一个for循环外,没有执行任何操作。我完全被难住了,我还缺什么for循环之后未执行的代码--javascript,javascript,Javascript,我正在编写一个函数,该函数应该循环遍历我所有的复选框,并将选中的复选框的“值”加载到数组中,但是除了第一个for循环外,没有执行任何操作。我完全被难住了,我还缺什么 function saveSettings(){ var count = 1; //count for db var checked=[]; //array of checked values var inc = 0; //only incremented when checkbox is checked
function saveSettings(){
var count = 1; //count for db
var checked=[]; //array of checked values
var inc = 0; //only incremented when checkbox is checked
var dataString = "x";
for(var i=0; i<=2; i++) { //loads checked array with checked values
if(document.getElementById("check"+i).checked == true){
checked[inc] = document.getElementById("check"+i).value;
alert(checked[inc]) // <------ executing as expected
inc++;
}
}
alert("made it") // <------ not executing
if(checked.length>0){ // loads checked values into dataString
for(var i=0; i == checked.length; i++){
if(i == 0){
dataString = "co_" + count +"="+checked[i]
}
else {
dataString = dataString +"&co_" + count +"="+checked[i]
}
count++;
}
}
alert(dataString)
函数保存设置(){
var count=1;//数据库的计数
var checked=[];//检查值数组
var inc=0;//仅在选中复选框时递增
var dataString=“x”;
对于(var i=0;i在这一行中
if(document.getElementById(“check”+i).checked==true){
//…
getElementById将返回一个未定义的值,且未定义的没有.checked属性
文档中有多少个复选框?尝试下面的工作解决方案。代码中的第二个for循环条件(i==checked.length)是错误的。它应该是i
函数保存设置(){
var count=1;//数据库的计数
var checked=[];//检查值数组
var inc=0;//仅在选中复选框时递增
var dataString=“x”;
对于(var i=0;i0){//将检查值加载到数据字符串中
对于(变量i=0;i
您的第二个for循环出错
函数保存设置(){
var count=1;//数据库的计数
var checked=[];//检查值数组
var inc=0;//仅在选中复选框时递增
var dataString=“x”;
对于(var i=0;i根据您对问题的描述,我认为问题在于复选框的数量,如果您只有2个复选框,那么条件i有多少个复选框…您的浏览器控制台中有任何错误可以创建JSFIDLE吗?-看起来fine@lockedz在这种情况下,您应该使用'let'而不是'var'。请参阅:它可以正常工作,检查小提琴。
function saveSettings() {
var count = 1; //count for db
var checked = []; //array of checked values
var inc = 0; //only incremented when checkbox is checked
var dataString = "x";
for (var i = 0; i <= 2; i++) { //loads checked array with checked values
if (document.getElementById("check" + i).checked == true) {
checked[inc] = document.getElementById("check" + i).value;
inc++;
}
}
if (checked.length > 0) { // loads checked values into dataString
for (var i = 0; i < checked.length; i++) {
if (i == 0) {
dataString = "co_" + count + "=" + checked[i]
}
else {
dataString = dataString + "&co_" + count + "=" + checked[i]
}
count++;
}
}
alert(dataString)
}