2012-03-30 50 views
3

我正在使用jQuery的日期選擇器與beforeShowDay過濾器,只啓用星期二。如果我接近月末並且不再有星期二,則選擇器將打開到當前月份,並且沒有可用日期。如何在本月沒有可用日期的情況下使jquery datepicker在下個月打開?

如何使用選取器識別這種情況?有沒有辦法要求選擇月份的可用日期或類似的東西?

如果我確實認識到這種情況,如何讓用戶點擊時在下個月打開選擇器?

有沒有一種自動的方式來做到這一點?

+0

如何發佈您的代碼? – j08691 2012-03-30 17:32:46

回答

3

試試這個jsfiddle我做了。

$(document).ready(function() { 
    $('#datepicker').datepicker({ 
     defaultDate: nextTuesday(), 
     beforeShowDay: enableTuesdays 
    }); 
}); 

function enableTuesdays(date) { 
    // 0 =s unday, 1 = monday, 2 = tuesday, 3 = wednesday, 
     // 4 = thursday, 5 = friday, 6 = saturday 
    var day = date.getDay(); 
    return [(day == 2), '']; 
} 

function nextTuesday() { 
    var today = new Date(); 
    var offset = (today.getDay() < 2) ? 0 : 7; 
    var daysUntilTuesday = 2 + offset - today.getDay(); 
    return '+'+daysUntilTuesday; 
} 
+0

'defaultDate'是我所需要的,謝謝 – lincolnk 2012-04-06 20:37:06

0

雖然這並不能解決找出背後的邏輯越來越日曆與下月開,如果沒有更多的可用日期。如果前端設計允許,你可以讓日期選擇器打開2個月的視圖,這樣你總會有日期選擇?

安裝程序會要求您傳入'numberOfMonths'作爲datepicker初始化的選項。

$('#datepicker').datepicker({ numberOfMonths: 2 }); 
相關問題