一次初始化多个Fullcalendar时如何识别selector id?
How to identify selector id when initialize multiple Fullcalendar at one time?
我在同一页面上初始化了两个日历,如下所示:
html
<div id="calendar1"></div>
<div id="calendar2"></div>
javascript
$("#calendar1, #calendar2").fullCalendar({
.....
events: function(start, end, timezone, callback) {
var evt1=[{title:'A',start:'2015-02-01'}];
var evt2=[{title:'B',start:'2015-02-01'}];
calendarid = $(this); <== how to get the id?
if (calendarid = 'calendar1') { callback(evt1); }
if (calendarid = 'calendar2') { callback(evt2); }
}, // end of events
.....
}
每个日历都有自己的一组事件。我如何知道事件函数中的选择器 ID? fullCalendar 是否公开 $(this) 属性 让程序员在上面编写代码?
谢谢。
您是否尝试过 $(this).attr('id');
进入 fullCalendar 函数?那应该有效。
如果您遇到问题,请尝试使用
$("#calendar1, #calendar2").each().fullCalendar({etc..
确保单独调用每个对象,然后 $(this).attr('id');
在 fullCalendar 函数中工作。
我建议你这样做:
使用您的选择器创建一个数组并将其设置为日历配置的自定义选项:
var calendars = ['calendar1', 'calendar2'];
for (var i = 0; i < calendars.length; i++) {
fullCalConfig.id = calendars[i];
console.log(fullCalConfig);
$('#'+fullCalConfig.id).fullCalendar(fullCalConfig);
}
现在您可以从 events
函数中查找选择器:
events: function(start, end, timezone, callback) {
var evt1=[{title:'A',start:'2015-02-01'}];
var evt2=[{title:'B',start:'2015-02-01'}];
calendarid = this.options.id;
if (calendarid == 'calendar1') { callback(evt1); }
if (calendarid == 'calendar2') { callback(evt2); }
},
我为你设置了一个 jsFiddle:
http://jsfiddle.net/kqdzz5wq/1/
我在同一页面上初始化了两个日历,如下所示:
html
<div id="calendar1"></div>
<div id="calendar2"></div>
javascript
$("#calendar1, #calendar2").fullCalendar({
.....
events: function(start, end, timezone, callback) {
var evt1=[{title:'A',start:'2015-02-01'}];
var evt2=[{title:'B',start:'2015-02-01'}];
calendarid = $(this); <== how to get the id?
if (calendarid = 'calendar1') { callback(evt1); }
if (calendarid = 'calendar2') { callback(evt2); }
}, // end of events
.....
}
每个日历都有自己的一组事件。我如何知道事件函数中的选择器 ID? fullCalendar 是否公开 $(this) 属性 让程序员在上面编写代码?
谢谢。
您是否尝试过 $(this).attr('id');
进入 fullCalendar 函数?那应该有效。
如果您遇到问题,请尝试使用
$("#calendar1, #calendar2").each().fullCalendar({etc..
确保单独调用每个对象,然后 $(this).attr('id');
在 fullCalendar 函数中工作。
我建议你这样做:
使用您的选择器创建一个数组并将其设置为日历配置的自定义选项:
var calendars = ['calendar1', 'calendar2'];
for (var i = 0; i < calendars.length; i++) {
fullCalConfig.id = calendars[i];
console.log(fullCalConfig);
$('#'+fullCalConfig.id).fullCalendar(fullCalConfig);
}
现在您可以从 events
函数中查找选择器:
events: function(start, end, timezone, callback) {
var evt1=[{title:'A',start:'2015-02-01'}];
var evt2=[{title:'B',start:'2015-02-01'}];
calendarid = this.options.id;
if (calendarid == 'calendar1') { callback(evt1); }
if (calendarid == 'calendar2') { callback(evt2); }
},
我为你设置了一个 jsFiddle: http://jsfiddle.net/kqdzz5wq/1/