Javascript jquery日期选择器

Javascript jquery日期选择器,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我在这里和网上看了一些问题,但我似乎找不到我想要的答案,或者我就是不能正确地实施它。我有两个日期选择器,一个是入住日期,一个是退房日期。退房日期必须始终在入住日期后30天内。我已经设法使用下面的代码来获得这个结果,但是它是在onSelect上的,因此它在加载页面时不起作用,只有在您选择签入日期时才起作用。默认情况下,签入日期为今天,因此从页面加载起最多30天内只能选择签出。任何帮助都将不胜感激 var today = new Date(); today.setHours(0,0,0,0)

我在这里和网上看了一些问题,但我似乎找不到我想要的答案,或者我就是不能正确地实施它。我有两个日期选择器,一个是入住日期,一个是退房日期。退房日期必须始终在入住日期后30天内。我已经设法使用下面的代码来获得这个结果,但是它是在onSelect上的,因此它在加载页面时不起作用,只有在您选择签入日期时才起作用。默认情况下,签入日期为今天,因此从页面加载起最多30天内只能选择签出。任何帮助都将不胜感激

    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);                    
        }

    }
        });
});
这样做:

  • 将选择的
    功能移动到外部功能
  • $(document).ready()时调用它
  • datepicker
    配置对象中的
    onSelect
    指向它
fn:

onSelect:

onSelect: datepickerhandle,
加载:

$(document).ready(function(){ datepickerhandle([selected time]); });
要获取所选时间,请参见此问题:


变体2号


加载文档时,将datepicker实例的日期设置为在选定事件时激发,只需使用日期结束选择器初始化更新字段,如下所示

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

谢谢你的回复。只是电话有问题。我猜这与选定的时间有关,但我不明白。如果我只做datepickerhandle();它的工作原理和我最初的一样。您是否有可能在选定的时间帮助我。请使用可隐藏的替代字段
$('.date-pick').datePicker().val(new Date()).trigger('change')