jQuery FullCalendar事件排序

我有很多活动都是全天活动,而且都是在同一时间开始的.我按照我希望它们出现在完整日历视图中的顺序创建事件,但它们似乎总是以其他方式排序.

如何按字母或按ID排序事件?

编辑:添加示例数据数组.在日历中,我预计Supervisor事件将每天首先出现,按照字母顺序出现在Tech1和Tech2之前,其id是出租人数,也是以下事件.相反,我每天都会收到随机订单.

例如:

2011-11-05的一天,该订单显示为Tech2,Tech1,Tech2,Supervisor.

2011-11-06的一天,该订单显示为Supervisor,Tech2.

我要求排序至少每天都是一致的,理想情况是按标题的字母顺序排列,或者按照id的顺序排列.

var events=[
    {id:1,title:'Supervisor',start:'2011-11-05T00:00:00-05:00',st_hours:10,ot_hours:0,allDay:true},{id:2,title:'Tech2',{id:3,{id:4,title:'Tech1',{id:5,{id:6,{id:7,start:'2011-11-06T00:00:00-05:00',{id:8,{id:9,{id:10,{id:11,{id:12,allDay:true}
];

EDIT2:此问题似乎只存在于Google Chrome中.事件按照我期望的顺序呈现在IE9和FF8中.我开发的Chrome 15似乎是唯一受影响的浏览器.

火狐

解决方法

我发现chrome尊重开始时间.在构建事件时,我只需在列表中的每个项目中添加第二个.在示例中,我有一个结果集,其中包含列中特定日期的每个值. Start位于第0列,title位于结果集的第1列.

在我的示例中,我执行以下操作:

var startVal = "";
$.each(data.ResultSet,function(row)
title = data.ResultSet[row][1];
startVal = new Date(data.ResultSet[row][0]);
startVal.setSeconds(startVal.getSeconds() + row);
start: startVal;

这样我就按照我放入事件对象的顺序显示标题.

在您的数据示例中,我将进行以下更改:

var events=[
{id:1,start:'2011-11-05T00:00:01-05:00',start:'2011-11-05T00:00:02-05:00',start:'2011-11-05T00:00:03-05:00',start:'2011-11-05T00:00:04-05:00',start:'2011-11-05T00:00:05-05:00',start:'2011-11-05T00:00:06-05:00',start:'2011-11-06T00:00:07-05:00',start:'2011-11-06T00:00:08-05:00',start:'2011-11-06T00:00:09-05:00',start:'2011-11-06T00:00:10-05:00',start:'2011-11-06T00:00:11-05:00',start:'2011-11-06T00:00:12-05:00',allDay:true}];

希望这可以帮助!

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...