单击日期编号时的fullCalendar - 获取日期数据属性

时间:2017-12-11 21:21:47

标签: javascript jquery date onclick fullcalendar

我遇到了FullCalendar jQuery库的问题,在这里找到了:

我正试图改变事物的正常功能。在月视图中单击日期编号而不是切换到DAY视图时,我希望它转到另一个页面并将日期属性传递给列出的data-goto属性。

每天,在渲染日历之后都有这个标记:

<td class="fc-day-top fc-xxx fc-yyyy" data-date="YYYY-MM-DD">
     <a class="fc-day-number" data-goto='{"date": "YYYY-MM-DD", "type":"day"}'>DD</a>
<td>

因此,在初始化日历之后,我有一个点击事件:

$('.fc-day-number').each(function(){
     var $this =  $(this);
     $this.on('click', function(){
          console.log($(this).data('goto', 'date'));
     });
});

但是,当我点击日期编号时,它会给我一个 Uncaught TypeError: Cannot read property 'charAt' of undefined

我想做的只是为了确保收集正确的数据只是从goto data-attribute获取日期值。一旦我有了,那么加载一个新页面很容易。

提前再次感谢。

1 个答案:

答案 0 :(得分:0)

所以我找到了一个解决方案,虽然没有提供100%的标准,但仍然有效。

对于每个单元格中的数字,我应用了一个指针事件:无,因此它是不可点击的,并且在FullCalendar的初始化代码中,我利用了dayClick方法并使用了THAT来通过日期,将其添加到URL查询和简单的javascript以重定向页面。

以下是代码:

$('#calendar').fullCalendar({
     dayClick: function(date){
          var dateFormat = date.format()
          console.log("Clicked on: "+dateFormat); //returns the date
          window.location.href = "newPage.jsp?datepicker="+dateFormat;
     }
});

$('a.fc-day-number').each(function(){
     var $this = $(this);
     $this.css('pointer-events','none');
});