jQuery:在每个循环中将对象添加到数组不起作用
jQuery: Adding objects to arrays in each loops not working
单击某个按钮时,我正在遍历 DOM 个元素。我已将 class finish-proc
附加到按钮,因此单击时将激活此功能:
<script>
$(document).on('click', '.finish-proc', function () {
var communities = [];
var $this, $thisDay, input, inputDay, text, textDay, obj, objDay;
$('.panel-default').each(function (i) {
var maxPeople = '.' + $(this).attr('data-community') + '-max-people';
var dayInfoRow = '.' + $(this).attr('data-community') + '-day-info';
obj = {};
obj["maxPeople"] = $(maxPeople).val();
var daysArrayInLoop = [];
$(dayInfoRow).each(function (j) {
var objDay = {};
var dayString = '.' + $(this).attr('data-community') + '-day-' + (j + 1);
var dayStringStart = '.' + $(this).attr('data-community') + '-day-' + (j + 1) + '-start';
var dayStringEnd = '.' + $(this).attr('data-community') + '-day-' + (j + 1) + '-end';
objDay["dayString"] = $(dayString).val();
objDay["dayStringStart"] = $(dayStringStart).val();
objDay["dayStringEnd"] = $(dayStringEnd).val();
daysArrayInLoop.push(objDay);
}
obj["dayArray"] = daysArrayInLoop;
communities.push(obj);
}
}
</script>
此代码在线中断:
daysArrayInLoop.push(objDay);
出现错误:
daysArrayInLoop.push is not a function
谁能告诉我这是为什么?
EDIT - 我尝试将 var daysArrayInLoop = [];
更改为 var daysArrayInLoop = {};
,仍然出现相同的错误
尝试此代码在推入对象后定义数组
var daysArrayInLoop = new Array();
daysArrayInLoop.push(obj);
单击某个按钮时,我正在遍历 DOM 个元素。我已将 class finish-proc
附加到按钮,因此单击时将激活此功能:
<script>
$(document).on('click', '.finish-proc', function () {
var communities = [];
var $this, $thisDay, input, inputDay, text, textDay, obj, objDay;
$('.panel-default').each(function (i) {
var maxPeople = '.' + $(this).attr('data-community') + '-max-people';
var dayInfoRow = '.' + $(this).attr('data-community') + '-day-info';
obj = {};
obj["maxPeople"] = $(maxPeople).val();
var daysArrayInLoop = [];
$(dayInfoRow).each(function (j) {
var objDay = {};
var dayString = '.' + $(this).attr('data-community') + '-day-' + (j + 1);
var dayStringStart = '.' + $(this).attr('data-community') + '-day-' + (j + 1) + '-start';
var dayStringEnd = '.' + $(this).attr('data-community') + '-day-' + (j + 1) + '-end';
objDay["dayString"] = $(dayString).val();
objDay["dayStringStart"] = $(dayStringStart).val();
objDay["dayStringEnd"] = $(dayStringEnd).val();
daysArrayInLoop.push(objDay);
}
obj["dayArray"] = daysArrayInLoop;
communities.push(obj);
}
}
</script>
此代码在线中断:
daysArrayInLoop.push(objDay);
出现错误:
daysArrayInLoop.push is not a function
谁能告诉我这是为什么?
EDIT - 我尝试将 var daysArrayInLoop = [];
更改为 var daysArrayInLoop = {};
,仍然出现相同的错误
尝试此代码在推入对象后定义数组
var daysArrayInLoop = new Array();
daysArrayInLoop.push(obj);