- 浏览: 284519 次
- 性别:
- 来自: 兰州
文章分类
- 全部博客 (116)
- 给网友答疑 (1)
- J2EE (16)
- DesignPattern (14)
- OtherArchive (5)
- lucene and compass (1)
- JasperReport (2)
- FusionCharts (2)
- Classical algorithm (2)
- JS (5)
- ZK Ajax (1)
- ubuntu-linux (4)
- Weka (0)
- IDE Config (6)
- JAVA 底层 (3)
- C\C++ (4)
- Android (15)
- 项目展示 (1)
- 娱乐生活 (16)
- 电驴资源 (1)
- 网络转载 (1)
- 程序员 毛病 (1)
- Android,开发日志 (2)
- java (1)
- openGL es (2)
- MAC (1)
最新评论
-
洋葱pp奥特曼:
求大神再发一次资源,万分感激!!小弟邮箱:173992660@ ...
使用JQuery-Week-Calendar做日程 -
xbliu564:
请问版本号
fusionchart 破解文件SWF -
xue_lang:
看了半天,有点坑爹的赶脚,哎
状态模式(State) -
teacup_madman:
我只能说。这个程序可以去掉的地方太多了。这个真的是State模 ...
状态模式(State) -
冬日的阳光:
TrafficLight这个类的change方法可以改一下,如 ...
状态模式(State)
能完整运行的实例已经整理出来了:
下载地址:http://bestupon-framework.googlecode.com/files/JQuery-Week-Calendar.rar
使用方法:
1、配置文件位于 com.jxs.sys.core.config/config.properties
2、在mysql下建立一个数据库比如test
3、导入项目,直接部署启动即可!
如有问题:请联系:QQ378917280、email:bestupon@foxmail.com
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
昨天有人跑不起来,我看是内存溢出问题造成的,建议不要直接使用Myeclipse 下的自带的Tomcat(默认的为6.0.13 Myeclipse 6.5 ), 下载一个比较新的版本,
如果还出现内存溢出问题的话 ,参考一下配置:
在eclipse.ini 文件中加入:
-Xms128m
-Xmx512m
-XX:MaxPermSize=128m
这样的配置(注意分行),
如果想在eclipse里面直接配置,那就将JDK的参数中加入
注意一行。
另:附件类容已取消,如需下载,使用:http://bestupon-framework.googlecode.com/files/JQuery-Week-Calendar.rar
下载,注意项目整体编码是UTF-8格式的,如果改成GBK等有可能会出现乱码,无法运行。
2011-5-13 11:14
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
JQuery-Week-Calendar 是一个很优秀的Jquery插件,我们可以很方便的进行日志管理。
JQuery-Week-Calendar 的项目地址是:http://wiki.github.com/robmonie/jquery-week-calendar/
演示地址:http://robmonie.github.com/jquery-week-calendar/full_demo/weekcalendar_full_demo.html
首先:我们要通过一下地址下载其最新版本1.2.2:http://github.com/downloads/robmonie/jquery-week-calendar/jquery-weekcalendar-1.2.2.zip
今天我们采用的是demo下的weekcalendar_full_demo.html,这个例子来演示。
1.下载以后没有提供国际化,我们将其更改成中文版的。参见以下的JS文件。
修改demo.js文件:
$(document).ready(function(){ var $calendar = $('#calendar'); var id = 10; $calendar.weekCalendar({ timeslotsPerHour: 4, allowCalEventOverlap: true, overlapEventsSeparate: true, firstDayOfWeek: 1, businessHours: { start: 8, end: 18, limitDisplay: true }, daysToShow: 7, height: function($calendar){ return $(window).height() - $("h1").outerHeight() - 1; }, eventRender: function(calEvent, $event){ if (calEvent.end.getTime() < new Date().getTime()) { $event.css("backgroundColor", "#aaa"); $event.find(".wc-time").css({ "backgroundColor": "#999", "border": "1px solid #888" }); } }, draggable: function(calEvent, $event){ return calEvent.readOnly != true; }, resizable: function(calEvent, $event){ return calEvent.readOnly != true; }, eventNew: function(calEvent, $event){ var $dialogContent = $("#event_edit_container"); resetForm($dialogContent); var startField = $dialogContent.find("select[name='start']").val(calEvent.start); var endField = $dialogContent.find("select[name='end']").val(calEvent.end); var titleField = $dialogContent.find("input[name='title']"); var bodyField = $dialogContent.find("textarea[name='body']"); $dialogContent.dialog({ modal: true, title: "新建日程表", close: function(){ $dialogContent.dialog("destroy"); $dialogContent.hide(); $('#calendar').weekCalendar("removeUnsavedEvents"); }, buttons: { save: function(){ calEvent.id = id; id++; calEvent.start = new Date(startField.val()); calEvent.end = new Date(endField.val()); calEvent.title = titleField.val(); calEvent.body = bodyField.val(); $.post(addPath, { calendarId: calEvent["id"], start: calEvent["start"], end: calEvent["end"], title: calEvent["title"], body: calEvent["body"] }, function(data){ }) $calendar.weekCalendar("removeUnsavedEvents"); $calendar.weekCalendar("updateEvent", calEvent); $dialogContent.dialog("close"); }, cancel: function(){ $dialogContent.dialog("close"); } } }).show(); $dialogContent.find(".date_holder").text($calendar.weekCalendar("formatDate", calEvent.start)); setupStartAndEndTimeFields(startField, endField, calEvent, $calendar.weekCalendar("getTimeslotTimes", calEvent.start)); }, eventDrop: function(calEvent, $event){ $.post(modifyPath, { calendarId: $event["id"], start: calEvent["start"], end: calEvent["end"], title: calEvent["title"], body: calEvent["body"] }, function(data){ }) }, eventResize: function(calEvent, $event){ }, eventClick: function(calEvent, $event){ if (calEvent.readOnly) { return; } var $dialogContent = $("#event_edit_container"); resetForm($dialogContent); var startField = $dialogContent.find("select[name='start']").val(calEvent.start); var endField = $dialogContent.find("select[name='end']").val(calEvent.end); var titleField = $dialogContent.find("input[name='title']").val(calEvent.title); var bodyField = $dialogContent.find("textarea[name='body']"); bodyField.val(calEvent.body); $dialogContent.dialog({ modal: true, title: "Edit - " + calEvent.title, close: function(){ $dialogContent.dialog("destroy"); $dialogContent.hide(); $('#calendar').weekCalendar("removeUnsavedEvents"); }, buttons: { save: function(){ calEvent.start = new Date(startField.val()); calEvent.end = new Date(endField.val()); calEvent.title = titleField.val(); calEvent.body = bodyField.val(); $.post(modifyPath, { calendarId: calEvent["id"], start: calEvent["start"], end: calEvent["end"], title: calEvent["title"], body: calEvent["body"] }, function(data){ }) $calendar.weekCalendar("updateEvent", calEvent); $dialogContent.dialog("close"); }, "delete": function(){ $.post(deletePath, { calendarId: calEvent["id"] }, function(data){ }) $calendar.weekCalendar("removeEvent", calEvent.id); $dialogContent.dialog("close"); }, cancel: function(){ $dialogContent.dialog("close"); } } }).show(); var startField = $dialogContent.find("select[name='start']").val(calEvent.start); var endField = $dialogContent.find("select[name='end']").val(calEvent.end); $dialogContent.find(".date_holder").text($calendar.weekCalendar("formatDate", calEvent.start)); setupStartAndEndTimeFields(startField, endField, calEvent, $calendar.weekCalendar("getTimeslotTimes", calEvent.start)); $(window).resize().resize(); // fixes a bug in modal overlay size // ?? }, eventMouseover: function(calEvent, $event){ }, eventMouseout: function(calEvent, $event){ }, noEvents: function(){ }, data: function(start, end, callback){ callback(getEventDataMyeslf()); } }); function getEventDataMyeslf(){ return { events: datas }; } function resetForm($dialogContent){ $dialogContent.find("input").val(""); $dialogContent.find("textarea").val(""); } function getEventData(){ var year = new Date().getFullYear(); var month = new Date().getMonth(); var day = new Date().getDate(); return { events: [{ "id": 1, "start": new Date(year, month, day, 12), "end": new Date(year, month, day, 13, 30), "title": "Lunch with Mike", "body": "这是一个测试内容" }, { "id": 2, "start": new Date(year, month, day, 14), "end": new Date(year, month, day, 14, 45), "title": "Dev Meeting", "body": "这是一个测试内容2" }, { "id": 3, "start": new Date(year, month, day + 1, 17), "end": new Date(year, month, day + 1, 17, 45), "title": "Hair cut", "body": "这是一个测试内容3" }, { "id": 4, "start": new Date(year, month, day - 1, 8), "end": new Date(year, month, day - 1, 9, 30), "title": "Team breakfast" }, { "id": 5, "start": new Date(year, month, day + 1, 14), "end": new Date(year, month, day + 1, 15), "title": "Product showcase" }, { "id": 6, "start": new Date(year, month, day, 10), "end": new Date(year, month, day, 11), "title": "I'm read-only", readOnly: true }] }; } /* * Sets up the start and end time fields in the calendar event form for * editing based on the calendar event being edited */ function setupStartAndEndTimeFields($startTimeField, $endTimeField, calEvent, timeslotTimes){ for (var i = 0; i < timeslotTimes.length; i++) { var startTime = timeslotTimes[i].start; var endTime = timeslotTimes[i].end; var startSelected = ""; if (startTime.getTime() === calEvent.start.getTime()) { startSelected = "selected=\"selected\""; } var endSelected = ""; if (endTime.getTime() === calEvent.end.getTime()) { endSelected = "selected=\"selected\""; } $startTimeField.append("<option value=\"" + startTime + "\" " + startSelected + ">" + timeslotTimes[i].startFormatted + "</option>"); $endTimeField.append("<option value=\"" + endTime + "\" " + endSelected + ">" + timeslotTimes[i].endFormatted + "</option>"); } $endTimeOptions = $endTimeField.find("option"); $startTimeField.trigger("change"); } var $endTimeField = $("select[name='end']"); var $endTimeOptions = $endTimeField.find("option"); // reduces the end time options to be only after the start time options. $("select[name='start']").change(function(){ var startTime = $(this).find(":selected").val(); var currentEndTime = $endTimeField.find("option:selected").val(); $endTimeField.html($endTimeOptions.filter(function(){ return startTime < $(this).val(); })); var endTimeSelected = false; $endTimeField.find("option").each(function(){ if ($(this).val() === currentEndTime) { $(this).attr("selected", "selected"); endTimeSelected = true; return false; } }); if (!endTimeSelected) { // automatically select an end date 2 slots away. $endTimeField.find("option:eq(1)").attr("selected", "selected"); } }); var $about = $("#about"); $("#about_button").click(function(){ $about.dialog({ title: "About this calendar demo", width: 600, close: function(){ $about.dialog("destroy"); $about.hide(); }, buttons: { close: function(){ $about.dialog("close"); } } }).show(); }); });
2.解释:
显示calendar的页面如下:
<body> <div id='calendar'></div> <div id="event_edit_container"> <form action="http://localhost:8080/evaluationSystem0.2/myEvaluation/applayEvalutaion!addUI.action" method="get"> <input type="hidden" /> <ul> <li> <span>日期:</span><span class="date_holder"></span> </li> <li> <label for="start"> 开始时间: </label> <select name="start"> <option value=""> 请选择开始时间 </option> </select> </li> <li> <label for="end"> 结束时间: </label> <select name="end"> <option value=""> 请选择结束时间 </option> </select> </li> <li> <label for="title"> 主题: </label> <input type="text" name="title" /> </li> <li> <label for="body"> 内容: </label> <textarea name="body"></textarea> </li> </ul> </form> </div> </body>
demo.js中的
var $calendar = $('#calendar'); 是构建calendar。
其提供的方法很多,请参见http://wiki.github.com/robmonie/jquery-week-calendar/,这里不详细介绍,主要介绍几个要点,
1。增加:
在新建日程的时候,单击:日期的横格子:
使用如下代码:
save: function(){ calEvent.id = id; id++; calEvent.start = new Date(startField.val()); calEvent.end = new Date(endField.val()); calEvent.title = titleField.val(); calEvent.body = bodyField.val(); $.post(addPath, { calendarId: calEvent["id"], start: calEvent["start"], end: calEvent["end"], title: calEvent["title"], body: calEvent["body"] }, function(data){ })
addPath 就是更给地址,calEvent["id"]就是要传给后台的数据。
2。托拽:
拖拽事件,
eventDrop: function(calEvent, $event){ $.post(modifyPath, { calendarId: $event["id"], start: calEvent["start"], end: calEvent["end"], title: calEvent["title"], body: calEvent["body"] }, function(data){ }) },
3。删除:
"delete": function(){ $.post(deletePath, { calendarId: calEvent["id"] }, function(data){ }) $calendar.weekCalendar("removeEvent", calEvent.id); $dialogContent.dialog("close"); },
4。修改:可以通过拖拽,也可以使用点击显示的各自来通过“save”来修改。
save: function(){ calEvent.start = new Date(startField.val()); calEvent.end = new Date(endField.val()); calEvent.title = titleField.val(); calEvent.body = bodyField.val(); $.post(modifyPath, { calendarId: calEvent["id"], start: calEvent["start"], end: calEvent["end"], title: calEvent["title"], body: calEvent["body"] }, function(data){ }) $calendar.weekCalendar("updateEvent", calEvent); $dialogContent.dialog("close"); },
3。使用json来处理数据。这一点需要注意一下,前台直接传递给后台的数据格式:Sun Sep 12 2010 12:15:00 GMT+0800,但是JQuery-Week-Calendar 需要传递的格式:2010-09-12T12:15:00.000+10:00这样的格式,所以我们需要对其精心数据转换,参见如下的信息:
private static String dateToString(String dateGMT) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date satrt = new Date(dateGMT); String startStr = sdf.format(satrt); String str = startStr.split(" ")[0] + "T" + startStr.split(" ")[1]; return str + ".000+10:00"; }
详细参见:源码
评论
不好意思,这两天忙的很,没有看评论,你搞定了就好!~~~~~~~~
嗯哈 理解 不过你的头像咋那么像小贝呢
嘿嘿。那以后我儿子就叫贝肯鲍尔孙子就叫贝克汉姆!
不好意思,这两天忙的很,没有看评论,你搞定了就好!~~~~~~~~
嗯哈 理解 不过你的头像咋那么像小贝呢
等等我整理一下,我的代码是嵌在一个项目中的,没有整理出来单个的例子,等我抽取出来了,会传上去的!
已经整理出来了:
下载地址:http://bestupon-framework.googlecode.com/files/JQuery-Week-Calendar.rar
使用方法:
1、配置文件位于 com.jxs.sys.core.config/config.properties
2、在mysql下建立一个数据库比如test
3、导入项目,直接部署启动即可!
1:把现在上方的星期改成每天工作的时间段
2:把现在左侧的时间段改成日程的序号~
请问有没有类似的代码或者插件啊?
谢谢!
本来就支持每天的管理,为什那么又要那么的细化呢?你可以将一天的时间段划分的在细一点,不就可以了么?或者你非要做一个一天之类的管理的话。核心代码就是:_replaceChars: {}中的时间换算!前面有朋友推荐的那个也可以的!他那个做的很细!
hi,我想这个插件更强大 xgcalendar
代码托管:http://code.google.com/p/xgcalendar
demo :http://xgcalendar.cloudapp.net
[/quot]
1:把现在上方的星期改成每天工作的时间段
2:把现在左侧的时间段改成日程的序号~
请问有没有类似的代码或者插件啊?
谢谢!
不好意思,这两天忙的很,没有看评论,你搞定了就好!~~~~~~~~
没有那么强大的功能,仅仅是支持周内的信息!不花哨,实用!
代码托管:http://code.google.com/p/xgcalendar
demo :http://xgcalendar.cloudapp.net
的确很强大!建议做个JSP版本的例子,很多人没有.Net运行环境!
代码托管:http://code.google.com/p/xgcalendar
demo :http://xgcalendar.cloudapp.net
发表评论
-
ExtJsUI ---button ---panel -- textfield 综合实例 学习笔记(居中登录窗体)
2010-03-22 10:14 1630实现思路: 利用两个DIV 实现的,第一个DIV占满整 ... -
ExtJsUI ---button ---panel -- textfield 特性学习笔记
2010-03-22 09:54 1917ExtjsUI 1. Ext.Button 在b ... -
ExtJs 面向对象 特性
2010-03-22 09:44 10621.命名空間: 對類的定義方式 Extjs 代碼: ... -
使用jQuery写了一个简单的窗口和异步刷新
2009-10-08 12:46 2295使用Jquery做Ajax应用,简化了繁琐的JavaScrip ...
相关推荐
jquery-week-calendar-master日历控件 可在线编辑,记录待办事项
周历插件demo,有很多例子可以参考,欢迎大家下载讨论
汉化jquery-week-calendar,比较漂亮的周日历,功能也很强大
jquery-3.3.1.js和jquery-3.3.1.min.js免费下载哈。jquery-3.3.1.js和jquery-3.3.1.min.js免费下载哈。jquery-3.3.1.js和jquery-3.3.1.min.js免费下载哈。jquery-3.3.1.js和jquery-3.3.1.min.js免费下载哈。jquery-...
开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-1.11.3.min开发工具 jquery-...
jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)jquery-3.7.0.min.js(jQuery下载)...
jquery-uijquery-uijquery-uijquery-uijquery-uijquery-uijquery-uijquery-uijquery-uijquery-uijquery-uijquery-uijquery-uijquery-uijquery-uijquery-ui
jquery-3.5.0.js jquery-3.5.0.min.js.zip
jquery-ui.css、jquery-ui.js
jquery-1.11.1.js 、jquery-1.11.1.min.js 【官方jquery包 js】
jquery-3.1.1.js 、jquery-3.1.1.min.js 【jquery包 js】
这里包含jquery-ui-1.8.16.custom.min.js/jquery-ui-1.8.16.custom.css,我费了好长时间找到的,此东西可以配合jQuery UI开发指南一书使用。
jquery-ui-1.8.2.custom.min.js,jquery-ui-1.8.4.custom.css
jquery-3.0.0.js 、jquery-3.0.0.min.js 【官方jquery包 js】
jquery-1.9.1.js 、jquery-1.9.1.min.js 【jquery包 js】
jquery-ui-日期框扩展成时间框 jquery-ui时间框 基于别人的代码进行修改 jquery-ui-1.8.16.custom.css文件末尾加入以下代码 .ui-timepicker-div .ui-widget-header{ margin-bottom: 8px; } .ui-timepicker-div dl{ ...
压缩包内包含jquery-1.6.4.js jquery-1.6.4.min.js jquery-1.6.4-vsdoc.js 。 【推荐用法】 1、将jquery-1.6.4-vsdoc.js与jquery-1.6.4.js放在同一目录,然后在vs中添加对jquery-1.6.4.js的引用即可; 2、切记:...
一共包括1、jquery-3.6.3.js文件。 2、jquery-3.6.3.min.js文件。3、jquery-migrate-3.4.0.js文件(主要用于解决jquery版本升级中的问题,是jquery版本升级所必须引用的文件)。4、jquery-migrate-3.4.0.min.js...
jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-...
JQuery是一个快速简洁的JavaScript框架,jquery-3.3.1.js和jquery-3.3.1.min.js,需要的朋友可以下载。