2013-05-09 57 views
1

有沒有辦法將之前選擇的日期的jQuery UI Datepicker設置爲不同的類?如何在jQuery UI Datepicker上設置與過去日期不同的類?

我正在處理的場景是有即將到來的事件和以前的事件的日曆。現在即將舉行的活動現在可以獲得一個適用於他們的課程並進行相應的設計。我需要爲以前的日期做同樣的事情。

因此,例如:

5月10日,因爲它是一個即將發生的事件將白金(亮點類)。因爲它是一個以前的事件

5月8日將彩色淺灰色(傳入事件類)。

這裏是我到目前爲止(從beforeShowDay工作):

beforeShowDay: function(date) { 
        var result = [true, '', null], 
         afterOrToday = $.grep(events, function(event) { 

          var eventDate = new Date(event.Date), 
           todaysDate = new Date(); 

          return date.valueOf() === eventDate.valueOf(); 
         }), 
         beforeToday = $.grep(events, function(event) { 

          var eventDate = new Date(event.Date), 
           todaysDate = new Date(); 

          return date.valueOf() < eventDate.valueOf(); 
         }); 

        if (afterOrToday.length) 
         result = [true, 'highlight', null]; 
        else if (beforeToday.length) 
         result = [true, 'passed-event', null]; 

        return result; 
       } 

回答

1

看到這個例子http://jsbin.com/imiyez/1/edit

您可以比較日期沒有的valueOf:

[true, ('past' if date < yesterday)] 
+0

我只需要將某個類應用到某個日期。以前的所有日期都不會有這個類。只有之前有過活動的日期。 – 2013-05-09 18:07:03

+0

昨天替換那天的事件,事件日期的格式是什麼,它是一個日期對象? – juanpastas 2013-05-09 19:35:50

+0

另一件事,你能看到我分享的鏈接中的代碼?鏈接編輯 – juanpastas 2013-05-09 19:36:42

1

如果沒有把握這是最有效的方法,並會喜歡改變質量的建議,但這是我提出的解決方案。

beforeShowDay: function(date) { 
    var result = [true, '', null], 
     today = $.grep(events, function(event) { 

      var eventDate = new Date(event.Date); 

      return date.valueOf() === eventDate.valueOf(); 
     }), 
     beforeToday = $.grep(events, function(event, i) { 

      var eventDate = new Date(event.Date), 
       isPast = false; 

      if (date.valueOf() === eventDate.valueOf()) 
       if (date.valueOf() < new Date().valueOf()) 
        isPast = true; 

      return isPast; 
     }); 

    if (today.length) 
     result = [true, 'highlight', null]; 

    if (beforeToday.length) 
     result = [true, 'past-event', null]; 

    return result; 
} 

這將添加一個類到我過去的日期有事件以及未來日期在2個獨立的類。感謝大家的幫助!

相關問題