所以我在项目中使用了完整的日历JavaScript。我将每日单元内的属性设置为日内渲染功能。问题:我可以使用日期范围获得这些属性吗?那可行吗?任何建议都非常感谢。
每日单元单元具有fc-day
类,并且每个单元格都有一个属性data-date
,显示其代表的日期(例如2017-09-19
)。
所以,例如,假设您在一个月的视图中显示了2017年9月,以及一个称为" mycustomattr"的自定义属性(显示了当天的整整一天),通过dayRender
添加了这些日期单元,例如这个:
dayRender: function(date, cell) {
cell.attr("MyCustomAttr", "Day Of Year: " + date.format("DDD"));
},
然后,您想在9月10日至15日(独家)范围内获取所有单元格的自定义属性值,您可以运行此代码(只要在执行Dayrender回调后的某个时间运行):
var days = $(".fc-day");
var attributes = [];
var rangeStart = moment("2017-09-10");
var rangeEnd = moment("2017-09-15");
days.each(function(index, element) {
var day = moment($(this).data("date"));
if (day.isBetween(rangeStart, rangeEnd))
{
attributes.push($(this).attr("MyCustomAttr"));
}
});
console.log(JSON.stringify(attributes));
您可以在此处看到一个工作示例:http://jsfiddle.net/sbxpv25p/20/
n.b。我只是将属性值放在数组中,这本身不是很有用,因为它们不再与日子相关联。您没有说一旦获得属性,您就不会说要处理什么,所以我将其留给您修改示例以适合您的需求。