我编写了一个简单的for循环,以根据json响应执行一些DOM操作。这是我的代码
onSuccess: function(a) {
var b = a.items.length;
for (i = 0; i < b; i++)
user_id = a.items[i].id;
$('#user_id').checked = true;
selectUserSettings(user_id);
}
},
在我正在使用的一个示例中,结果集“ a”中有14个项目。 for循环在添加断点时显示i的值为0、1、2、2、3、2、3、4、2、3、4、5 ...基本上,它会重置并从2开始并转到最多再增加1个索引,然后再进行一次...我在这里做错了吗?任何帮助将不胜感激。
答案 0 :(得分:5)
很可能是由于在声明for (i = 0; i < b; i++)
时没有使用i
或let
关键字的情况下,此行var
在全局范围内。
将此更改为
for (let i = 0; i < b; i++)
如果我的理解是正确的,您还想使用user_id
变量来访问元素。如果是这样,则更改
user_id = a.items[i].id;
$('#user_id').checked = true;
到
let user_id = a.items[i].id;
$('#'+user_id).checked = true;