2011-08-30 82 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')