从UICalendar中选择一天

时间:2016-02-17 12:48:48

标签: javascript angularjs twitter-bootstrap angularjs-ng-click ui-calendar

我对角度相当新,我正在尝试使用ui-calendar实现日历。到目前为止,我已经能够显示一个非常基本的日历和一些事件。

现在我需要能够点击一天并在侧面标签上显示详细事件。我似乎迷失了如何实现这一点击日的事情。这可能看起来很幼稚,我以为我会在日历上找到每天的单元格的html,然后就像将ng-click附加到它一样简单。但我似乎无法找到任何日历的html模板。我所能看到的只是指令,它没有多大帮助。我根本不理解jquery,所以我真的很难找到任何答案。

总结一下,我只想知道如何在日历上点击一天。

提前致谢。

$scope.uiConfig = {
  calendar: {
    height: 450,
    editable: true,
    header: {
      left: 'title',
      center: '',
      right: 'today prev,next'
    },
    eventClick: $scope.alertOnEventClick,
    eventDrop: $scope.alertOnDrop,
    eventResize: $scope.alertOnResize,
    eventRender: $scope.eventRender,
    dayClick: function(date, jsEvent, view) {
      console.log("inside dayClick");
      alert('Clicked on: ' + date.format());
      var events = myCalendar.fullCalendar('clientEvents', function(event) {
        return event.start.isSame(date) || event.end.isSame(date) || date.isBetween(event.start, event.end); // Will return all events starting/ending on this date or overlapping this date
      });
    }
  }
};

1 个答案:

答案 0 :(得分:2)

在您的配置变量中,您可以添加dayClick回调,在此回调中您可以执行以下操作:

dayClick: function( date, jsEvent, view ) { 
    var events = myCalendar.fullCalendar('clientEvents', function(event) {
        return event.start.isSame(date) || event.end.isSame(date) || date.isBetween(event.start, event.end); // Will return all events starting/ending on this date or overlapping this date
    });
}

这将返回当天或重叠的所有事件。

可以找到FullCalendar文档here