0
我有一個jQuery datepicker,以前工作得很好。但是,從昨天開始,我必須改變一些事情。當我將鼠標懸停在日曆上時,沒有任何反應。當我點擊日曆時,沒有任何工作。但是,我可以通過代碼更改日曆的行爲。正如你所看到的,我能夠刪除第一個日曆中的prev和next按鈕。有什麼我忘記檢查?爲什麼我不能選擇日曆的任何日期?任何暗示是讚賞。順便說一句,我檢查的jsfiddle代碼,它就在那裏工作:(jQuery datepicker不再可選
這是我的JavaScript:
$(function() {
var startDate;
var endDate;
var selectCurrentWeek = function() {
window.setTimeout(function() {
$('#datepicker').find('.ui-datepicker-current-day tr').addClass('ui-state-hover');
$('#datepicker').find('.ui-datepicker-next').remove();
$('#datepicker').find('.ui-datepicker-prev').remove();
}, 1);
}
$('#datepicker').datepicker({
showOtherMonths: true,
selectOtherMonths: false,
onSelect: function(dateText, inst) {
var date = $(this).datepicker('getDate');
startDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay());
endDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay() + 6);
$('#calendar').weekCalendar('gotoWeek', date);
selectCurrentWeek();
},
beforeShowDay: function(date) {
var cssClass = '';
if(date >= startDate && date <= endDate)
cssClass = 'ui-datepicker-current-day';
return [true, cssClass];
},
onChangeMonthYear: function(year, month, inst) {
selectCurrentWeek();
}
});
$('#datepicker').datepicker("option", $.datepicker.regional[ 'de' ]);
$('#datepicker').find('.ui-datepicker-next').remove();
$('#datepicker').find('.ui-datepicker-prev').remove();
$('#datepicker .ui-datepicker-calendar tr').live('mousemove', function() { $(this).find('td a').addClass('ui-state-hover'); });
$('#datepicker .ui-datepicker-calendar tr').live('mouseleave', function() { $(this).find('td a').removeClass('ui-state-hover'); });
// handling datepicker classes
var startDate;
var endDate;
var selectCurrentWeek_next = function() {
window.setTimeout(function() {
}, 1);
}
$('#datepicker_next_month').datepicker({
showOtherMonths: true,
selectOtherMonths: true,
onSelect: function(dateText, inst) {
var date = $(this).datepicker('getDate');
$('#calendar').weekCalendar('gotoWeek', date);
selectCurrentWeek_next();
},
beforeShowDay: function(date) {
var cssClass = '';
return [true, cssClass];
},
onChangeMonthYear: function(year, month, inst) {
selectCurrentWeek_next();
}
});
$('#datepicker_next_month').datepicker("option", $.datepicker.regional[ 'de' ]);
$('#datepicker_next_month').datepicker().datepicker('setDate','+1m');
$('#datepicker_next_month .ui-datepicker-calendar tr').live('mousemove', function() { $(this).find('td a').addClass('ui-state-hover'); });
$('#datepicker_next_month .ui-datepicker-calendar tr').live('mouseleave', function() { $(this).find('td a').removeClass('ui-state-hover'); });
});
這是相關HTML部分:
<div id="datepicker"></div>
<div id="datepicker_next_month"></div>
這些是我輸入的腳本:
<script type='text/javascript' src='libs/jquery-1.4.4.min.js'></script>
<script type='text/javascript' src='libs/jquery-ui-1.8.11.custom.min.js'></script>
<script type='text/javascript' src='libs/jquery-ui-i18n.js'></script>
這裏是日曆的圖像:
瀏覽器升級了嗎? – 2013-04-21 10:40:13
很可能,但它不適用於Chrome,Safari或Firefox。 – doonot 2013-04-21 10:42:19
你升級了你的jQuery版本嗎?我看到你正在使用.. jquery-1.4.4.min.js ..你有沒有升級到最新版本1.9.1 – 2013-04-21 10:52:29