2010-10-23 59 views
2

我正在使用jQuery UI的datepicker(http://docs.jquery.com/UI/Datepicker)。馬克在jQuery UI datepicker中選擇日期

聽起來好像應該可以通過提供beforeShowDay函數來標記某些天(http://docs.jquery.com/UI/Datepicker#event-beforeShowDay)。但我無法爲此獲得CSS。我想讓背景變綠一些日子。

這是JavaScript我有這遠:

$(function() {  
    $('.date').datepicker({ 
     dateFormat: 'yy-mm-dd', 
     firstDay: '1', 
     showOtherMonths: 'true', 
     beforeShowDay: daysToMark 
    }); 
}); 

function daysToMark(date) { 
    if (date.getDate() < 15) { 
     return [true, 'markedDay', ""]; 
    } 

    return [true, '', ""]; 
} 

這是CSS:

.markedDay { 
    background-color: green; 
} 

但沒有什麼變化。我究竟做錯了什麼?

回答

3

這做到了

.markedDay a.ui-state-default { 
    background: green !important; 
} 

.markedDay a.ui-state-hover { 
    background: red !important; 
} 

不得不把樣式添加到一個元素,而不是TD元素,由尼克Craver指出。我還必須將jQuery UI生成的類名稱添加到a元素,以使我的css規則比根據CSS cascading rules的默認規則更重要。最後的訣竅是使用background而不是background-color覆蓋已使用的jQuery UI主題圖像。

3

你應該有什麼工作,you can test it here。但是,根據您的主題,您可能需要調整CSS,因爲<td>中的<a>具有它自己的背景,並且該類將應用於<td>

+0

這是我需要幫助的CSS調整。將相同樣式表添加到「.markedDay a」不會改變任何內容。 – Tobbe 2010-10-23 01:02:59

+0

+1爲偉大的jsfiddle.net鏈接! – Tobbe 2010-10-23 01:14:05

相關問題