javascript - FullCalendar 中的工具提示

标签 javascript c# asp.net ajax fullcalendar

我想在我的日历中制作一个工具提示, 日历工作正常,但我想显示患者的更多详细信息,例如 鼠标悬停时患者的描述。我不知道该怎么做? 有人可以帮助我吗?

ref link(https://fullcalendar.io/)

这是我做的

 <div id='calendar'></div>

Javascript( Ajax )

数据取自动态

<link href='jscss/fullcalendar.min.css' rel='stylesheet' />
    <link href='jscss/fullcalendar.print.min.css' rel='stylesheet' media='print' />
    <script src='lib/moment.min.js'></script>
    <script src='lib/jquery.min.js'></script>
    <script src='jscss/fullcalendar.min.js'></script>
    <script src='jscss/locale-all.js'></script>
        <script>
            $(document).ready(function () {
                $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: "Scheduler.aspx/GetEvents",
                    dataType: "json",
                    success: function (data) {
                        var initialLocaleCode = 'en';
                        var myJsonString = data.d;
                        $('#calendar').fullCalendar({
                            header: {
                                left: 'prev,next today',
                                center: 'title',
                                right: 'month,agendaWeek,agendaDay,listMonth'
                            },
                            defaultDate: new Date(),
                            locale: initialLocaleCode,
                            buttonIcons: false, // show the prev/next text
                            weekNumbers: true,
                            navLinks: true, // can click day/week names to navigate views
                            editable: true,
                            eventLimit: true, // allow "more" link when too many events   
                            events: data.d
                        });
                    }
                });
            });

    </script>

方法

    [WebMethod]
    public static IList GetEvents()
    {
        clsDBOperation obj = new clsDBOperation();
        DataTable dt1 = obj.GetDataTable("SELECT con.EDate as EDate ,  con.pfname , COUNT(*) OVER (PARTITION BY CAST(con.AppDate AS DATE)) Appointment, con.AppDate as Date, CAST(con.AppTime AS Time(0)) Time from Consultation as con inner join DoctorMaster as doc on con.DrCode=doc.id where con.DrCode='" + HttpContext.Current.Session["DrCode"] + "' ");
            IList events = new List<Event>();
            for (int i = 0; i < dt1.Rows.Count; i++)
            {
                DataRow dRow4 = dt1.Rows[i];
                events.Add(new Event
                {
                   start = Convert.ToDateTime(dRow4["Date"].ToString()).ToString("yyyy-MM-dd") + "T" + dRow4["Time"].ToString(),
                    end = Convert.ToDateTime(dRow4["Date"].ToString()).ToString("yyyy-MM-dd") + "T" + dRow4["Time"].ToString(),
                    title = dRow4["pfname"].ToString(),
                    Appointment = dRow4["Appointment"].ToString(),
                    Time = dRow4["Time"].ToString()

                });
            }
            return events;
    }
}
public class Event
{
    public string start { get; set; }
    public string end { get; set; }
    public string title { get; set; }
    public string Appointment { get; set; }
    public string Time { get; set; }
}

最佳答案

您需要覆盖完整日历的 eventRender 属性。

 $('#calendar').fullCalendar({
    defaultView: 'month',
    defaultDate: '2018-10-12',

    eventRender: function(eventObj, $el) {
      $el.popover({
        title: eventObj.title,
        content: eventObj.description,
        trigger: 'hover',
        placement: 'top',
        container: 'body'
      });
    },

    events: [
      {
        title: 'All Day Event',
        description: 'description for All Day Event',
        start: '2018-10-01'
      },
      {
        title: 'Long Event',
        description: 'description for Long Event',
        start: '2018-10-07',
        end: '2018-10-10'
      },
      {
        id: 999,
        title: 'Repeating Event',
        description: 'description for Repeating Event',
        start: '2018-10-09T16:00:00'
      },
      {
        id: 999,
        title: 'Repeating Event',
        description: 'description for Repeating Event',
        start: '2018-10-16T16:00:00'
      },
      {
        title: 'Conference',
        description: 'description for Conference',
        start: '2018-10-11',
        end: '2018-10-13'
      },
      {
        title: 'Meeting',
        description: 'description for Meeting',
        start: '2018-10-12T10:30:00',
        end: '2018-10-12T12:30:00'
      },
      {
        title: 'Lunch',
        description: 'description for Lunch',
        start: '2018-10-12T12:00:00'
      },
      {
        title: 'Meeting',
        description: 'description for Meeting',
        start: '2018-10-12T14:30:00'
      },
      {
        title: 'Birthday Party',
        description: 'description for Birthday Party',
        start: '2018-10-13T07:00:00'
      },
      {
        title: 'Click for Google',
        description: 'description for Click for Google',
        url: 'http://google.com/',
        start: '2018-10-28'
      }
    ]
  });

工作示例是 here

有关更多引用,请参阅完整日历 docs

关于javascript - FullCalendar 中的工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51551849/

相关文章:

javascript - 使用 http 获取图像或字节数据

c# - 在 C# 中生成报告

c# - 如何使用 C# 确定虚拟目录或网站的 ASP.NET 版本?

asp.net - 如果 WebAPI 根据客户端凭据进行身份验证,则获取用户信息

C# - 在不知道它会是什么的情况下初始化一个变量

javascript - 如何在 node.js 中设置 mysql 连接以在使用无符号整数进行算术运算时抛出超出范围错误?

javascript - $.ajax() 返回值错误 [object HTMLInputElement]

javascript - 指令和 Controller 中的两种方式绑定(bind)

C# - 将 json 格式的数据解析为嵌套的哈希表

c# - 转换为 LINQ 查询的 IEnumerable<DateTime> 结果