2013-04-21 57 views
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> 

這裏是日曆的圖像:

enter image description here

+0

瀏覽器升級了嗎? – 2013-04-21 10:40:13

+0

很可能,但它不適用於Chrome,Safari或Firefox。 – doonot 2013-04-21 10:42:19

+0

你升級了你的jQuery版本嗎?我看到你正在使用.. jquery-1.4.4.min.js ..你有沒有升級到最新版本1.9.1 – 2013-04-21 10:52:29

回答

0

我終於發現了問題。我使用Google Chroms Element檢查器,發現另一個div覆蓋了datepicker div。解決了這個問題之後,所有事情都可以再次運行:)