从表单中获取多个复选框的值,并收集到一个数组中,该数组现在在当前for循环中可用,但我希望该数组在循环外用于将来的目的。 现在我只在循环中获取所有值。 但是当我在for循环外打印相同的数组时,它只显示数组中的最后一个值。
<script>
function submitform(path){
var ele = document.getElementsByClassName('del');
var arr = new Array();
for(var i=0 ; i< ele.length ; i++ )
{
arr['arr2'] = ele[i].value;
}
console.log(arr);
}
</script>
答案 0 :(得分:4)
问题是你在for循环的每个循环中用另一个值初始化同一个变量,执行arr['arr2'] = ele[i].value;
结果,您的数组最后只包含一个值。
解决方案:使用for循环的增量变量i
作为数组索引。
function submitform(path){
var ele = document.getElementsByClassName('del');
var arr = [];
for(var i=0 ; i< ele.length ; i++ )
{
arr[i] = ele[i].value;
}
console.log(arr);
}
答案 1 :(得分:1)
function submitform(path){
//var ele = document.getElementsByClassName('del');
var ele = [5, 4, 3, 2, 1];
var arr = new Array();
for(var i=0 ; i< ele.length ; i++ )
{
arr.push(ele[i]);
}
console.log(arr);
}
submitform();
&#13;
答案 2 :(得分:0)
使用push创建一个循环值数组并在循环外使用新数组
var OurElements = document.getElementById("ID");
var arr = [];//Make empty array
for (i=0;i<=OurElements.length;i++){
arr.push(OurElements[i]);
}
console.log(arr);//Get array on console
console.log(arr.stringify);//This return array as strings, then you can save all data on variable