2010-05-25 112 views
5

我有一個jQuery日期選擇器,我需要能夠更改所選單元格日期的背景顏色。我想要的東西,如:如何更改jQuery日期選擇器的單元格顏色

$("#fecha").datepicker({ 
      onSelect: function(value, date) { 
      alert(date.css()); 
      } 
    }); 

希望的日期參數指的是選定單元格,但它似乎並沒有工作。

有什麼建議嗎?

//編輯: 該解決方案應該讓我有不同的顏色動態設置不同的顏色,這就是爲什麼我想用onSelect而不是直接更改CSS。

其目的是製作一個由用戶建立事件的日曆。

在此先感謝。在你的CSS

+0

如果給定答案的作品,請把它標記爲「答案」,以幫助其他人。這避免了被問到的重複問題。 – 2010-05-26 09:06:35

+0

我知道,但我表達得很糟糕,所以我編輯了這個問題,並且在標記正確的答案之前我正在等待答案。無論如何感謝您的答案! :D – MazarD 2010-05-26 09:30:05

+0

可悲的是我不認爲這是可能的。您可以訪問onSelect回調,但是DatePicker的內容也會重繪,我不知道是否可以停止。但是,如果你可以停止日期選擇器重繪,我已經給出了新的答案。 – 2010-05-26 11:15:43

回答

9

我認爲最好的方法(假設我理解正確的你)是簡單地覆蓋CSS。
在您的網站樣式表或HTML頭部分,你只需要覆蓋以下CSS選擇

.ui-datepicker-current-day .ui-state-active { background: #000000; } 

編輯

考慮到你的編輯,下面應該工作(假定你可以得到的日期選擇器停止刷新)

onSelect: function(value, date) { 
    date.dpDiv.find('.ui-datepicker-current-day a') 
     .css('background-color', '#000000'); 
} 
+0

但如果我這樣做覆蓋CSS它不會讓我有多個不同顏色的單元格,對不對? – MazarD 2010-05-26 09:12:17

+0

標記你的答案是正確的,因爲它是最好的近似值,無論如何,我沒有讓事情停止刷新,所以我決定寫我自己的活動日曆。感謝您的關注和幫助! – MazarD 2010-05-27 10:24:25

+0

不用擔心,您可以隨時查看由Kelvin Luck製作的非常強大的datePicker,儘管 - http://www.kelvinluck.com/assets/jquery/datePicker/ – 2010-05-27 16:11:03

0

更改類.ui-datepicker-current-day

+0

與CSS的方式是jQuery的css結構化,這將被覆蓋,因爲上面只有等於10的CSS級順序值。 CSS需要20或更多(兩個類)的值來覆蓋jQuery ui css的默認值。 – 2010-05-25 16:16:27

0

默認情況下,datepicker跟隨你的主題。但是你可以覆蓋任何東西。

ui-state-active是您選擇日期的樣式。 ui-state-highlight是它用來識別當前日期的樣式。

所以做這樣的事情:

#ui-datepicker-div .ui-state-active {color: #FFFFCC;} 

#ui-datepicker-div .ui-state-highlight {color: #DCDCDC;} 

您可以將這個CSS,而添加到頁面或調整的主題本身。

0

就我而言,我需要刪除活動類,所以:

$("#datepicker").datepicker({ 
    onSelect: function(dateText, inst) { 
    setTimeout(function(){ 
     inst.dpDiv.find('.ui-datepicker-current-day a').removeClass('ui-state-active'); 
    }, 50); 
    } 
}); 
相關問題