您好我正在使用 CLNDR 并尝试将今天,明天和本月的活动列表和活动计数信息分成单独的div,我确实尝试过各种各样的事情,但无法找到一个更好的解决方案,任何人都可以帮助我。以下代码仅供参考。
doneRendering: function() {
// make a moment object representing today
var target = moment();
var tommorow = target.add(1,'days');
var eventsTommorow =[];
if(this.options.multiDayEvents) {
eventsTommorow = $.makeArray( $(this.options.events).filter( function() {
// filter the dates down to the ones that match.
return ( ( tommorow.isSame(this._clndrStartDateObject, 'day') || tommorow.isAfter(this._clndrStartDateObject, 'day') ) &&
( tommorow.isSame(this._clndrEndDateObject, 'day') || tommorow.isBefore(this._clndrEndDateObject, 'day') ) );
}) );
} else {
eventsTommorow = $.makeArray( $(this.options.events).filter( function() {
// filter the dates down to the ones that match.
return this._clndrDateObject.format('YYYY-MM-DD') == dateString;
}) );
}
if(eventsTommorow.length) {
console.log(eventsTommorow.length);
var newNum = eventsTommorow.length < 10 ? "0" + eventsTommorow.length : eventsTommorow.length;
return $('.td-emp-count.tdTommorow').text(newNum);
}
}
},
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 0 :(得分:0)
实际上,我的问题是我无法过滤事件并将它们打印到单独的div中,我尝试了moment.js验证来获取今天的事件。但它没有按预期工作。但最后我尝试了一种简单的方法来获取今天,明天和本月的事件计数,并且它有效。但问题是如果一个反复发生的事件发生,让我们说4月24日到30日开始产假,那么我就无法计算事件数。因为我捕获CLNDR日期,startDate,endDate没有办法在事件计数之间获取。请找到代码
doneRendering: function() {
// make a moment object representing today
var _self = this;
function todayCount() {
var totalDate = _.filter(_self.options.events, {
date: moment().format('YYYY-MM-DD')
});
var totalStartDate = _.filter(_self.options.events, {
startDate: moment().format('YYYY-MM-DD')
});
var totalEndDate = _.filter(_self.options.events, {
endDate: moment().format('YYYY-MM-DD')
});
var newNum = (totalDate.length + totalStartDate.length + totalEndDate.length) < 10 ? "0" + (totalDate.length + totalStartDate.length + totalEndDate.length) : (totalDate.length + totalStartDate.length + totalEndDate.length);
return newNum;
}
$('.td-emp-count.tdToday').text(todayCount());
},
&#13;
这是一个简单的黑客,我使用underscore.js。但是这样我今天无法得到实际的数量,原因是如果一个经常性的假期发生它不能得到中间休假日作为计数
例如:
startDate = 2016年4月24日
endDate = 2016年4月28日
当我将这个简单的黑客应用于此时,我只能将4月24日(星期一)作为一个计数而4月28日(星期五)作为另一个计数,但是当我试图打印星期三的休假计数时,它无法将这一天作为留下数,
我是下划线.js的新手,但我真的需要知道如何将这些变量打印到underscore.js模板中,
我可以通过使用_.each()方法获取今天(实际休假)计数并将其打印到白天本身就像这样
<% _.each(days, function(day) { %>
<div class="<%= day.classes %>" id="<%= day.id %>">
<div class="num"><%= day.day %></div>
<% if (day.events.length) { %>
<div class="eventsTitles">Leave : <strong><%= day.events.length %></strong></div>
<% } %>
<ul class="dayLeaveTypes">
<% _.each(day.events, function(event) { %>
<li title="<%= event.type %>" id="<%= event.type %>" style="color:<%= event.color %>;">●</li>
<% }); %>
</ul>
</div>
<% }); %>
&#13;
但是我需要获得这个实际计数(仅限今天或明天的特定日期)并将它们打印到单独的div中,而不是在日历中。
这是我试图解决的整个想法。 :)