我正在使用arshaw.com/fullcalendar/中的jQuery Fullcalendar,我想将日期编号替换为事件链接,我通过数据库中的JSON获取,例如在this image上:
我的小日历每天只有一个活动,因此我不需要默认显示。我需要更简单,更清洁的东西。
由于我对jQuery不太熟悉,所以我自己无法理解。
有没有办法取代它:
<div class="fc-day-number">5</div>
当天有关于活动的链接吗?
答案 0 :(得分:1)
如果不修改日历创建脚本的源代码,您可以通过一些黑客攻击来实现所需的结果。假设您有一个JavaScript对象来保存您的事件URL,如下所示:
var urls = {
4: "http://mydomain.com/event.html",
16: "http://mydomain.com/event2.html",
22: "http://mydomain.com/event.html"
}
这可能是JSON请求的结果。然后,您可以遍历日历中的所有日期并检查当天是否有链接,然后更新日期编号以包含该链接:
$('.fc-day-number').each(function() {
// Get current day
var day = parseInt($(this).html());
// Check if there's a url defined for the day
if(urls[day] != undefined) {
// Replace the day number with the link
$(this).html('<a href="' + urls[day] + '">' + day + '</a>');
}
});
每次加载/打开日历时都要运行该代码段。如果不了解日历的更多信息,就无法确定这个代码片段的确切位置。
答案 1 :(得分:-1)
您只需要快速修改fullcalendar.js
即可只需更换此行:
(showNumbers ? "<div class='fc-day-number'>" + d.getDate() + "</div>" : '') +
这一行:
(showNumbers ? "<div class='fc-day-number'><a href=\"myURL.com\">" + d.getDate() + "</a></div>" : '') +
然后,这一行:
td.find('div.fc-day-number').text(d.getDate());
这一行:
td.find('div.fc-day-number').html("<a href=\"myURL.com\">"+d.getDate()+"<a\>");
享受它;)
富