【问题标题】:fullCalendar on click of date number - get Date data attributefullCalendar 单击日期编号 - 获取日期数据属性
【发布时间】:2018-05-25 11:44:15
【问题描述】:

我在使用 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 数据属性中获取日期值。一旦我有了它,那么加载一个新页面就很容易了。

再次提前感谢。

【问题讨论】:

  • 那是一个错字。标记由 FullCalendar 自动生成。我可以在我原来的问题中更正它。我的问题与生成的标记无关。
  • 再次,错字。它已在问题中修复

标签: javascript jquery date onclick fullcalendar


【解决方案1】:

所以我找到了一个解决方法,尽管它不能满足 100% 的标准,但仍然可以正常工作。

对于每个单元格中的数字,我应用了一个pointer-events:none,这样它就不能点击了,并且在FullCalendar的初始化代码中,我利用了dayClick方法并使用它来传递日期,将其添加到 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');
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多