我在 php 中有一个 for 循环,它在我的页面上添加了许多复选框,如下所示
<input type="checkbox" name="checkbox[]">
我想使用 javascript 来检查哪个被检查并在数组中添加值
var cboxes = document.getElementsByName('checkbox[]');
var len = cboxes.length;
var imageArray = new Array();
for (var i = 0; i < len; i++) {
if (cboxes[i].checked) {
imageArray[i] = cboxes[i].value;
}
}
如果我有 50 个框并单击复选框编号 2,4 和 6,循环遍历我的数组,我会得到结果。
for(var i = 0; i < imageArray.length; i++){
gallery.innerHTML += imageArray[i] + "<br>";
}
--
undefined
Correct value
undefined
Correct value
undefined
Correct value
如果我检查数字 1、2、3,我会得到结果
Correct value
Correct value
Correct value
为什么当我跳过复选框时会出现未定义的情况?我如何解决它
这是因为您要向数组添加额外的元素。以这段代码为例:
var a = []; // empty array
a[1] = 'foo'; // don't set a[0]
console.log(a.length); // gives 2
JavaScript 总是会“填充”数组键列表中的空白。如果您错过了一些内容,Javascript 会用以下内容填补空白undefined
.
而不是通过键名将元素添加到数组中,只需push
它到数组的末尾:
imageArray.push(cboxes[i].value);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)