我需要一些帮助。我正在尝试构建FullCalendar和FancyBox2组合。当用户点击一天时,我有这样的功能:
dayClick: function(date, allDay, jsEvent, view) {
var url = '/reservations/add';
var data = url;
var dayClickDate = $.fullCalendar.formatDate(date, 'dd/MM/yyyy');
$.fancybox({
'hideOnContentClick': false, //option for v1.3.4 (outdated)
'type': 'iframe',
'href': data,
'width': 500,
'height': 100,
'transitionIn': 'none', //option for v1.3.4 (outdated)
'transitionOut': 'none', //option for v1.3.4 (outdated)
afterLoad: function() {
$("#resStartDate").val(dayClickDate);
},
afterClose: function() {
$('#calendar').fullCalendar('refetchEvents');
}
});
},
FancyBox在iframe中打开一个页面,用户可以在其中进行新的预订。它应该将单击的日期日期设置为输入值。上面的代码不起作用。
有人知道如何让这个工作吗?谢谢。
答案 0 :(得分:1)
我想这取决于选择器#resStartDate
和#calendar
的位置:父页面或iframe
内的已打开页面?
如果它们位于打开的页面内(我假设它们是),那么在传递任何值之前,你应该首先在iframe
内找到它们,所以试试
afterLoad: function() {
$('.fancybox-iframe').contents().find("#resStartDate").val(dayClickDate);
},
afterClose: function() {
$('.fancybox-iframe').contents().find('#calendar').fullCalendar('refetchEvents');
}
注意:使用iframe?始终考虑Same Origin Policy