jquery-ui fullCalendar可用于设计日程管理的控件

来源:互联网 发布:大数据精准搜索功能 编辑:程序博客网 时间:2024/04/26 06:54

本文介绍的是使用jQuery UI的fullCalendar控件实现日程管理的一个示例。

 

Jsp代码
 收藏代码
  1. <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>  
  2. <%@taglib prefix="s" uri="/struts-tags" %>  
  3. <%  
  4. String path = request.getContextPath();  
  5. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  6. %>  
  7.   
  8. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  9. <html>  
  10.   <head>  
  11.     <base href="<%=basePath%>">  
  12.       
  13.     <title>个人日程表----天天</title>  
  14.       
  15.     <meta http-equiv="pragma" content="no-cache">  
  16.     <meta http-equiv="cache-control" content="no-cache">  
  17.     <meta http-equiv="expires" content="0">      
  18.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
  19.     <meta http-equiv="description" content="This is my page">  
  20.     <!--  
  21.     <link rel="stylesheet" type="text/css" href="styles.css">  
  22.     -->  
  23.     <link rel="stylesheet" type="text/css" href="css/fullcalendar.css">  
  24.     <style type="text/css">  
  25.         html,body {  
  26.             margin:0;  
  27.             padding:0;  
  28.             background: #ffddff;  
  29.         }  
  30.     </style>  
  31.     <script type="text/javascript" src="js/jquery.js"></script>  
  32.     <script type="text/javascript" src="js/fullcalendar.min.js"></script>  
  33.     <script type="text/javascript">  
  34.         $(document).ready(function() {  
  35.             var date = new Date();  
  36.             var d = date.getDate();  
  37.             var m = date.getMonth();  
  38.             var y = date.getFullYear();  
  39.               
  40.             var calendar = $('#calendar').fullCalendar({  
  41.                 header: {  
  42.                     left: 'prev,next today',  
  43.                     center: 'title',  
  44.                     right: 'month,agendaWeek,agendaDay'  
  45.                 },  
  46.                 viewDisplay: function(view) {  
  47.                     var viewStart = $.fullCalendar.formatDate(view.start,"yyyy-MM-dd");  
  48.                     var viewName = view.name;  
  49.                     //alert(viewStart+viewName);  
  50.                     $("#calendar").fullCalendar('removeEvents');  
  51.                     $.getJSON('schedule/containEvents',{start:viewStart,viewName:viewName},function(data) {  
  52.                         for(var i=0;i<data.length;i++) {  
  53.                             //alert(data[i].id);  
  54.                             //alert(data[i].allDay);  
  55.                             var obj = new Object();  
  56.                             obj.id = data[i].id;  
  57.                             obj.title = data[i].title;  
  58.                             obj.allDay = data[i].allDay;  
  59.                             obj.start = $.fullCalendar.parseDate(data[i].start/1000);  
  60.                             obj.end = $.fullCalendar.parseDate(data[i].end/1000);  
  61.                             //alert(data[i].start);  
  62.                             //alert(obj.start);  
  63.                             //alert($.fullCalendar.formatDate(obj.start,"yyyy-MM-dd HH:mm:ss"));  
  64.                             $("#calendar").fullCalendar('renderEvent',obj,true);//把从后台取出的数据进行封装以后在页面上以fullCalendar的方式进行显示  
  65.                         }  
  66.                     });  
  67.                 },  
  68.                 selectable: true,  
  69.                 selectHelper: true,  
  70.                 select: function(start, end, allDay) {  
  71.                     var title = prompt('请输入名称:');  
  72.                     if (title) {  
  73.                         calendar.fullCalendar('renderEvent',  
  74.                             {  
  75.                                 title: title,  
  76.                                 start: start,  
  77.                                 end: end,  
  78.                                 allDay: allDay  
  79.                             },  
  80.                             true // make the event "stick"  
  81.                         );//把刚输入的日程计划在页面上进行显示  
  82.                         //alert($.fullCalendar.formatDate(start,'yyyy-MM-dd HH:mm:ss'));  
  83.                         $.post("schedule/add",{//把刚输入的日程计划信息传到后台,保存到数据库  
  84.                             title: title,  
  85.                             start:($.fullCalendar.formatDate(start,'yyyy-MM-dd HH:mm:ss')) ,  
  86.                             end:($.fullCalendar.formatDate(end,'yyyy-MM-dd HH:mm:ss')),  
  87.                             allDay:allDay}  
  88.                         );  
  89.                     }  
  90.                     calendar.fullCalendar('unselect');  
  91.                 },  
  92.                 editable: true,  
  93.                 //events:'/tiantian/schedule/containEvents'  
  94.                 events:[]//表示初始化时的数据,这里是空的,等前面的ajax请求返回后就会有新的数据在页面显示  
  95.             });  
  96.             //setTimeout("myinit()",1000);  
  97.               
  98.             //alert($.fullCalendar.parseDate(3600)+"ddddddddddd");  
  99.         });  
  100.     </script>  
  101.   </head>  
  102.     
  103.   <body>  
  104.     <div id="calendar"></div>  
  105.   </body>  
  106. </html>  
0 0
原创粉丝点击