首页 文章

将日期编号替换为jQuery Fullcalendar中事件的链接

提问于
浏览
0

我'm using jQuery Fullcalendar from arshaw.com/fullcalendar/ and I would like to replace day number with link to event, which I'm从数据库获取JSON,如this image

我有一个小日历,每天只有一个事件,所以我不需要默认显示 . 我需要更简单,更清洁的东西 .

由于我对jQuery不是很熟悉,所以我自己也无法理解 .

有没有办法取代这个:

<div class="fc-day-number">5</div>

有关当天活动的链接?

2 回答

  • 1

    您只需要快速修改fullcalendar.js即可

    • 在创建时添加链接

    • 在cellules上添加链接重绘东西..

    只需更换此行:

    (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\>");
    

    好好享受 ;)

    富 .

  • -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>');
        }
    });
    

    只需在每次加载/打开日历时运行该代码段 . 如果不了解有关日历的更多信息,则无法确定此代码段的确切位置 .

相关问题