我已经使用fullcalendar创建了一个应用程序,该应用程序运行良好,但是我面临的问题是事件正在共享通过拖放分配给它们的时间,如下所示。因为我的要求是任何事件都不应与任何其他事件共享时间。
我已经在SO上发布了这个问题
所以为了解决这个问题,我想出了这个,就像我有一套如下所示的 sated一样
[
{start : '2014-11-13T12:00:00', end : '2014-11-13T14:00:00'},
{start : '2014-11-13T14:30:00', end : '2014-11-13T16:00:00'}
]
我必须检查我放置的日期时间是否被其他事件使用
说日期时间{start : '2014-11-13T11:00:00', end : '2014-11-13T12:00:00'}
应该通过
{start : '2014-11-13T10:30:00', end : '2014-11-13T11:30:00'}
应该失败
{start : '2014-11-13T13:30:00', end : '2014-11-13T14:30:00'}
使用 JavaScript
您可以尝试使用这样的代码来检查日期是否已在集合中 这只是一个例子,但此函数应返回 true 或 false,具体取决于日期是否正常:
<script type="text/javascript">
var test = [
{start : '2014-11-13T12:00:00', end : '2014-11-13T14:00:00'},
{start : '2014-11-13T14:30:00', end : '2014-11-13T16:00:00'}
];
var test1 = {start : '2014-11-13T13:30:00', end : '2014-11-13T14:30:00'};
if(checkDates(test, test1))
{
window.alert("Ok");
}
else
{
window.alert("Error");
}
function checkDates(test, test1)
{
var returnBoolean = true;
for(var i = 0; i < test.length; i++)
{
if(((new Date(test1.start)) >= (new Date(test[i].start)) && (new Date(test1.start)) <= (new Date(test[i].end))) || ((new Date(test1.end)) >= (new Date(test[i].start)) && (new Date(test1.end)) <= (new Date(test[i].end))))
{
returnBoolean = false;
break;
}
}
return returnBoolean;
}
</script>