【问题标题】:checking event date is valid using javascript使用 javascript 检查事件日期是否有效
【发布时间】:2015-01-29 15:00:30
【问题描述】:

我使用 fullcalendar 创建了一个应用程序,该应用程序运行良好,但我面临的问题是事件正在共享通过拖放分配给它们的时间,如下所示。因为我的要求是任何事件都不应与任何其他事件共享时间。

我已通过 SO

发布此问题

所以为了解决这个问题,我想出了这个,就像我有一套如下图所示的满足

[
{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

【问题讨论】:

  • 使用Moment.js
  • @Nit 2.8.4/moment.min.js 在那里JSFiddle
  • 那有什么问题呢?
  • @Nit 你看到我的jsfiddle了吗,
  • @Nit there undr week,事件可以通过拖动共享时间,我想防止,只有当它被放置在一个未定位的时间,它应该适用

标签: javascript jquery date fullcalendar


【解决方案1】:

您可以尝试使用这样的代码来检查日期是否已经在集合中,这只是一个示例,但此函数应根据日期是否正常返回 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>

【讨论】:

  • 我已经申请但没有工作....看看这个jsfiddle,在那一周并拖动一个事件并放置与以及不重叠其他事件,我无法放置在事件以及其他地方,请参阅控制台
  • 为什么不调试它,当您尝试打印到控制台时,即使 event.end 为 null,您也尝试访问 console.log('new end date -&gt;',event.end.format()); 的 format() 时,您的新结束日期为 null。该功能应该适合您,您只需要弄清楚如何将它与您的代码一起使用...
  • @AlexMan 尝试单独测试我的代码,您应该会看到该功能有效,您只需在代码中正确实现它...
猜你喜欢
  • 2017-02-28
  • 2012-05-22
  • 2023-02-22
  • 2012-03-15
  • 1970-01-01
  • 2013-01-09
  • 2020-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多