1. Page頁控件設置
<asp:TextBox ID="txtYearMonth" runat="server" Width="80px"></asp:TextBox>
<asp:CalendarExtender ID="txtYearMonth_CalendarExtender" runat="server"
OnClientShown="onCalendarShown" OnClientHidden="onCalendarHidden" BehaviorID="calendar1"
Enabled="True" TargetControlID="txtYearMonth" Format="yyyy/MM">
</asp:CalendarExtender>
2.js函數
var objCalendar;
function onCalendarShown(cal, e) {
// var cal = $find("calendar1");
//Setting the default mode to month
cal._switchMode("months", true);
objCalendar = cal;
//Iterate every month Item and attach click event to it
if (cal._monthsBody) {
var monNum = 1;
for (var i = 0; i < cal._monthsBody.rows.length; i++) {
var row = cal._monthsBody.rows[i];
for (var j = 0; j < row.cells.length; j++) {
var objCell = row.cells[j].firstChild;
objCell.innerHTML = "<br />" + monNum++;
$addHandler(objCell, "click", call);
}
}
}
}
function onCalendarHidden(cal, e) {
//Iterate every month Item and remove click event from it
if (cal._monthsBody) {
for (var i = 0; i < cal._monthsBody.rows.length; i++) {
var row = cal._monthsBody.rows[i];
for (var j = 0; j < row.cells.length; j++) {
$removeHandler(row.cells[j].firstChild, "click", call);
}
}
}
}
function call(eventElement) {
var target = eventElement.target;
switch (target.mode) {
case "month":
var cal = objCalendar;
cal._visibleDate = target.date;
cal.set_selectedDate(target.date);
cal._switchMonth(target.date);
cal._blur.post(true);
cal.raiseDateSelectionChanged();
break;
}
}