如何在每次单击时向JavaScript数组添加元素

如何在每次单击时向JavaScript数组添加元素,javascript,jquery,arrays,Javascript,Jquery,Arrays,我正在使用FullCalendar API,它向用户显示日历。当用户单击每个日期时,会弹出该日期。我想在每次单击时在JavaScript数组中添加日期。由于我现在有了代码,日期正在更新,但没有添加到数组中 以下是我所做的: select : function(date, jsEvent, view) { $('#clickedDateHolder').val(date.format()); // show modal dialog var inpu

我正在使用FullCalendar API,它向用户显示日历。当用户单击每个日期时,会弹出该日期。我想在每次单击时在JavaScript数组中添加日期。由于我现在有了代码,日期正在更新,但没有添加到数组中

以下是我所做的:

select : function(date, jsEvent, view) {
        $('#clickedDateHolder').val(date.format());
        // show modal dialog
        var input = [];
        input.push(date.format());
        $('#selectedDate').val(input);
        $('#event-modal').modal('show');
    }

如何更新代码以生成用户单击的所有日期的数组?

您必须在
选择处理程序之外声明日期数组,例如:

var selectedDates = [];
$(el).fullCalendar({
    select : function(date, jsEvent, view) {
        $('#clickedDateHolder').val(date.format());
        // show modal dialog
    //var input = [];
        selectedDates.push(date.format());
        $('#selectedDate').val(input);
        $('#event-modal').modal('show');
    }
});

您必须在
select
处理程序之外声明日期数组,例如:

var selectedDates = [];
$(el).fullCalendar({
    select : function(date, jsEvent, view) {
        $('#clickedDateHolder').val(date.format());
        // show modal dialog
    //var input = [];
        selectedDates.push(date.format());
        $('#selectedDate').val(input);
        $('#event-modal').modal('show');
    }
});

声明var输入=[];在函数外部,否则它将覆盖现有值您正在函数内部定义数组,因为它总是再次生成。您需要使var输入=[]位于函数外部。声明var输入=[];在函数外部,否则它将覆盖现有值您正在函数内部定义数组,因为它总是再次生成。您需要在函数外部设置var输入=[]。