Jquery datepicker From - 到具有禁用日期的字段

时间:2018-01-21 16:30:13

标签: jquery datepicker dependencies field

我有两个带有datepicker的输入字段:

    $('#dpd1').datepicker();
    $('#dpd2').datepicker();

是否可以将第二个字段依赖于第一个字段?

例如,我不会在第一个字段中选择日期'2018-01-15',而不是隐藏datepicker日历,关注第二个字段,其中应该仅在第一个字段+ 1天('2018-01-16'的几天内启用更高)。

我找到了这个脚本:

if(jQuery('#dpd1').length){
var nowTemp = new Date();
var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);

var checkin = $('#dpd1').datepicker({
  onRender: function(date) {
    return date.valueOf() < now.valueOf() ? 'disabled' : '';
  }
}).on('changeDate', function(ev) {
  if (ev.date.valueOf() > checkout.date.valueOf()) {
    var newDate = new Date(ev.date)
    newDate.setDate(newDate.getDate() + 1);
    checkout.setValue(newDate);
  }
  checkin.hide();
  $('#dpd2')[0].focus();
}).data('datepicker');
var checkout = $('#dpd2').datepicker({
  onRender: function(date) {
    return date.valueOf() <= checkin.date.valueOf() ? 'disabled' : '';
  }
}).on('changeDate', function(ev) {
  checkout.hide();
}).data('datepicker');
  }

但我无法为我的目的自定义此脚本。这里有人可以帮助我吗?谢谢。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:

if(jQuery('#dpd1').length){

var checkin = $('#dpd1').datepicker({

}).on('changeDate', function(ev) {

    var newDate = new Date(ev.date)
    newDate.setDate(newDate.getDate() + 1);
    checkout.setValue(newDate);

  checkin.hide();
  $('#dpd2')[0].focus();
}).data('datepicker');
var checkout = $('#dpd2').datepicker({
  onRender: function(date) {
    return date.valueOf() <= checkin.date.valueOf() ? 'disabled' : '';
  }
}).on('changeDate', function(ev) {
  checkout.hide();
}).data('datepicker');
}