2015-10-16 1 views
0

Я использую API FullCalendar, который показывает пользователю календарь. Когда пользователь нажимает на каждую дату, появляется дата. Я хочу добавить дату в массив JavaScript при каждом нажатии. Поскольку у меня есть мой код, дата обновляется, но не добавляется в мой массив.Как добавить элементы в массив 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'); 
    } 

Как я могу обновить свой код, чтобы сгенерировать массив всех дат пользователь нажал?

+3

объявить вход вар = []; вне функции в противном случае он будет переопределять существующее значение – WisdmLabs

+1

, вы определяете массив внутри своей функции, therfor всегда генерируется снова. Вам нужно сделать вход var = [] вне вашей функции. – Danmoreng

ответ

4

Вы должны были бы объявить массив дат за пределами 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'); 
    } 
}); 
Смежные вопросы