fullcalendar получает событие по имени элемента, которое не является его идентификатором

#javascript #jquery #fullcalendar #fullcalendar-3

#javascript #jquery ( jquery ) #полный календарь #полный календарь-3 #jquery

Вопрос:

Я использую fullcalendar.io . Если я хочу получить событие, я могу получить его по его идентификатору :

 var arry=$("#calendar").fullCalendar('clientEvents', eventID);
  

Я заполняю календарь с помощью JSON, который может выглядеть следующим образом:

 {
"events": [
    {
        "title": "tkt[24595]",
        "start": "2019-04-02T08:00:00.196-0500",
        "end": "2019-04-02T09:00:00.196-0500",
        "id": "107788",
        "userID": "1",
        "color": "#2d9798",
        "className": "ticketSrc",
        "custom": "amp;<div class='einfo'amp;>amp;<bamp;>problemamp;..",
        "unique": "1_107788"
    },
    {
        "title": "tkt[24598]",
        "start": "2019-04-03T08:00:00.196-0500",
        "end": "2019-04-03T09:00:00.196-0500",
        "id": "108167",
        "userID": "1",
        "color": "#2d9798",
        "className": "ticketSrc",
        "custom": "amp;<div class='einfo'amp;>amp;<bamp;>problemamp;..",
        "unique": "1_108167"
    }]}
  

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

Ответ №1:

Как упоминалось в документации к clientEvents методу, вместо передачи идентификатора в качестве параметра вы можете передать пользовательскую функцию обратного вызова, которую вы можете использовать для фильтрации списка событий любым удобным для вас способом. Обратный вызов выполняется один раз для каждого события в календаре, и если обратный вызов возвращает true, это событие будет включено в результаты.

Например (используя жестко заданный идентификатор пользователя, но вы поняли идею):

 var arry = $("#calendar").fullCalendar('clientEvents', function(event) {
  if (event.userID == "1") return true;
  return false;
});
  

Комментарии:

1. Опереди меня 🙂