2011-08-30 134 views
0

我已經看過這裏和在線的幾個問題,但我似乎無法找到答案即時尋找或者我只是不能實施它的權利。我有2個日期選擇器...檢查日期和結帳日期。退房日期必須始終在入住日期的30天內。我已經設法使用下面的代碼來獲得這個結果,但它在onSelect上,因此它的劑量工作時,頁面加載,只有當你選擇一個簽入日期。默認情況下,入住日期是今天,因此退房應該只能在頁面加載後30天內選擇。任何幫助,將不勝感激。jquery datepicker

var today = new Date(); 
today.setHours(0,0,0,0); 
$(function(){$("#datepicker, #departure").datepicker({ 
    defaultDate: +1, 
    minDate: 0, 
    maxDate: '+12m', 
    dateFormat: 'dd/mm/yy', 
    numberOfMonths: 3, 
    showOn: 'both', 
    buttonImageOnly: true, 
    buttonImage: 'http://images.aboutrooms.com/hotels/graphics/calendar.gif', 
    //beforeShowDay: function(date){return [date.getTime() != today.getTime(), ''];} 
    onSelect: function(selectedDate) { 
     if(this.id == 'datepicker'){ 
      var dateMin = $('#datepicker').datepicker("getDate"); 
      var rMin = new Date(dateMin.getFullYear(), dateMin.getMonth(),dateMin.getDate() + 1); // Min Date = Selected + 1d 
      var rMax = new Date(dateMin.getFullYear(), dateMin.getMonth(),dateMin.getDate() + 31); // Max Date = Selected + 31d 
      $('#departure').datepicker("option","minDate",rMin); 
      $('#departure').datepicker("option","maxDate",rMax);      
     } 

    } 
     }); 
}); 

回答

0

做這樣的:

  • 此舉onSelect功能,外部功能
  • 發出呼叫時datepicker配置對象$(document).ready();
  • 點從onSelect

fn:

function datepickerhandle(selectedDate) { 
     if(this.id == 'datepicker'){ 
      var dateMin = $('#datepicker').datepicker("getDate"); 
      var rMin = new Date(dateMin.getFullYear(), dateMin.getMonth(),dateMin.getDate() + 1); // Min Date = Selected + 1d 
      var rMax = new Date(dateMin.getFullYear(), dateMin.getMonth(),dateMin.getDate() + 31); // Max Date = Selected + 31d 
      $('#departure').datepicker("option","minDate",rMin); 
      $('#departure').datepicker("option","maxDate",rMax);      
     } 

    } 

ONSELECT:

onSelect: datepickerhandle, 

的onLoad:

$(document).ready(function(){ datepickerhandle([selected time]); }); 

獲得選定的時間看到這太問題:jQuery DatePicker: Get Selected Date


變種沒有。 2

jQuery datepicker set selected date, on the fly

時加載文檔,設置飛火onSelected事件日期選擇器實例的日期

+0

致謝結束時更新場爲迴應。只是遇到了麻煩。我猜它與選定的時間有關,但我不明白這一點。如果我只是做datepickerhandle();它就像我最初一樣工作。任何機會,你可以幫助我在選定的時間。 – Hatzi

+0

使用替代字段,可隱藏http://jqueryui.com/demos/datepicker/#alt-field –

0

只需用日期選取器初始化這樣

$('.date-pick').datePicker().val(new Date()).trigger('change')