伙计们需要帮助,我正在使用glDatePicker插件,该插件在特殊日期采用JSON数组。目前我正在为它提取Google日历Feed。但我的代码没有按预期工作。如果我在代码中遗漏了某些内容,请纠正我。
glDatePicker采用以下特殊日期,我正试图从Google Feed动态构建:
specialDates: [
{
date: new Date(2014,0,8),
data: { message: 'Sample event'},
repeatMonth: false
},
{
date: new Date(2014,0,1),
data: { message: 'Happy new Year 2014'},
repeatMonth: false
}]
这是我的HTML
<input type="text" id="simple" style="width: 200px; height: 80px; top: 10px; left: 500px; float: right;" />
这是我的jQuery
jQuery.getJSON("https://www.google.com/calendar/feeds/srinarayanisociety%40gmail.com/public/full?alt=json", function (data, myObject) {
var rstr = '[';
jQuery.each(data.feed.entry, function (key, val) {
rstr += '{';
var d = new Date(val.gd$when[0]['startTime']);
rstr += 'date: new Date(' + d.getFullYear() + ',' + d.getMonth() + ',' + d.getDate() + '),';
rstr += 'data: { message: \'' + val.title.$t + '\'},';
rstr += 'repeatMonth: false';
rstr += '},';
});
rstr += rstr.slice(0, -1);
rstr += rstr + ']';
alert(rstr);
jQuery('#simple').glDatePicker({
showAlways: true,
selectedDate: new Date(),
specialDates: rstr,
onClick: function (target, cell, date, data) {
target.val(date.getFullYear() + ' - ' + date.getMonth() + ' - ' + date.getDate());
if (data != null) {
alert(data.message + '\n' + date);
}
}
});
});
答案 0 :(得分:1)
您可以像插件所期望的那样构建JSON对象数组。
var dates = [];
$.each(data.feed.entry, function (key, val) {
var dateObj= {};
dateObj.date=new Date(val.gd$when[0]['startTime']);
dateObj.data = {};
dateObj.data.message=val.title.$t;
dateObj.data.repeatMonth=false;
dates.push(dateObj);
});
选中fiddle。