我有一个加载了事件的日期选择器。当月份更改为另一个月份时,会进行数据库调用以恢复事件并且这工作正常。但是,我需要在日历首次显示以及稍后与用户交互时发生这种情况。这是我的代码,为了简化我的问题,当日历第一次显示在屏幕上时,如何让“getJsonDate”函数运行?我几乎可以肯定这是相当基本的东西,但它并没有在我身上跳出来。
$(function () {
function getJsonDate(year, month) {
var theYear = year;
var theMonth = month;
alert('You are in, baby!');
$.post('GetMonthCalendar', {
data: { year: theYear, month: theMonth },
success: function(data) {
//TODO: make determination on ResourceScheduleTypeId for correct css
var i = 0;
for (i = 0; i < data.data.length; i++) {
$('.ui-datepicker-calendar td a:exactly(' + data.data[i]['d'] + ')')
.css({ color: 'blue' })
.attr('href', data.data[i]['link'])
.parent().attr('onclick', '');
}
}
});
}
$.expr[":"].exactly = function (el, i, m) {
var s = m[3];
if (!s) return false;
return eval("/^" + s + "$/i").test($(el).text());
};
$('#date').datepicker({
inline: true,
onSelect: function (dateText, inst) {
Date.prototype.toString = function () { return isNaN(this) ? 'NaN' : [this.getDate(), this.getMonth(), this.getFullYear()].join('/'); };
d = new Date(dateText);
//alert(d.getDate() + ", " + d.getFullYear());
getJsonDate(d.getFullYear(), d.getDate());
},
onChangeMonthYear: function (year, month, inst) {
//alert(year + ", " + month);
getJsonDate(year, month);
}
});
});