fullcalendar получить событие по имени элемента, который не является его идентификатором - PullRequest
0 голосов
/ 10 апреля 2019

Я использую 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": "<div class='einfo'><b>problem&..",
        "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": "<div class='einfo'><b>problem&..",
        "unique": "1_108167"
    }]}

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

1 Ответ

2 голосов
/ 10 апреля 2019

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

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

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