Полный календарь jQuery, добавляющий событие только с месяцами и днями

Я использую полный календарь и задаюсь вопросом, можно ли добавить событие только с месяцами и днями. Чтобы упростить то, что я имею в виду, давайте взглянем на скрипт

jQuery("#calendar").fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,basicWeek,basicDay'
        },
        events: [
            {
            'title': 'something',
            'start': '2012-09-06'
            }

        ]
    });

таким образом все работает правильно, но я хочу добавить данные только с помощью месяца и дня, вот так =>

events: [
    {
    'title': 'something',
    'start': '09-06'
    }
]

но это не работает, есть решение? Помогите пожалуйста, заранее спасибо :)


person nanobash    schedule 06.09.2012    source источник
comment
В какой год календарь должен добавить эти события? Текущий год?   -  person ganeshk    schedule 06.09.2012
comment
@ganeshk Я хочу каждый год, потому что хочу добавить в календарь данные о днях рождения пользователей   -  person nanobash    schedule 06.09.2012


Ответы (3)


arrow_upward
1
arrow_downward

вы не можете этого сделать - согласно документам полного календаря дата должна быть такой:

«Дата. Обязательно. Дата/время начала события. При указании объектов событий для событий или источников событий вы можете указать строку в формате IETF (например: «Среда, 18 октября 2009 г., 13:00:00 EST»), строку в формате ISO8601 (например: "2009-11-05T13:15:30Z") или метку времени UNIX.

Добавление повторяющегося события — это то, что вы пытаетесь сделать, повторяющееся событие в один и тот же день каждый год (например, день рождения) — это проблема, которая была поднята и адресована создателям fullcalendar здесь - они не предложили решение с использованием fullcalendar - предлагаемые решения хранят даты где-то и привязка новых событий к вашему источнику данных или другие способы создания дат перед добавлением события в календарь

person Scott Selby    schedule 06.09.2012
comment
То есть вы хотите сказать, что это невозможно? - person nanobash; 06.09.2012
comment
дата начала должна быть правильной датой и временем, вы можете использовать javascript, чтобы взять свой день/месяц и превратить его в несколько событий с разными годами - person Scott Selby; 06.09.2012
comment
Я согласен, что таким образом ('start': '09-06') невозможно, но мне интересно, если это невозможно с другими функциями, я действительно могу догадаться, какая функция будет полезна для этой задачи. - person nanobash; 06.09.2012
comment
может быть цикл - цикл через 2012-2020 и создание события для каждого года с заданным днем/месяцем - person Scott Selby; 06.09.2012

arrow_upward
1
arrow_downward

  1. Вам нужно создать общий массив событий со всеми событиями дня рождения. Используйте здесь правильный формат — например, 'start': '2012-09-06'
  2. Используйте обратный вызов viewDisplay, чтобы поймать изменение точки зрения - из года в год. Здесь отредактируйте исходный массив событий, чтобы добавить текущий год календаря.
  3. Затем используйте методы renderEvent или rerenderEvents для отображения этих новых событий в календаре.

Это должно работать - в теории. Дайте знать, если у вас появятся вопросы. Всего наилучшего!

person ganeshk    schedule 06.09.2012
comment
Я догадался, что вы посоветовали, но не смог выполнить задачу, мне будет очень приятно, если вы увидите мой другой пост именно об этой проблеме, вот ссылка stackoverflow.com/questions/12306351/ , спасибо :) - person nanobash; 06.09.2012

arrow_upward
1
arrow_downward

Этот код работает нормально,

Назначьте текущий год в переменной: $date = date("Y");

Объедините переменную, $date."-".date("m-d",$birthday["date_of_birth"]);

Вот и все

person Dinesh    schedule 05.09.2014