Javascript 使用pikaday日期选择器设置日期范围

Javascript 使用pikaday日期选择器设置日期范围,javascript,jquery,date,datepicker,date-range,Javascript,Jquery,Date,Datepicker,Date Range,我有一张预订表,我只需要两个输入#签入和#签出,这就是为什么我使用datepicker和daterange一切正常几乎一件事是我如何在两次约会之间选择15天 顺便说一下,我用的是 $(文档).ready(函数(){ $('.flexdatalist').flexdatalist({ 最小长度:0, 是的, }).on('选择:flexdatalist',函数(){ $('#签入')。触发器(“单击”); }); assignPicker=函数(id,关闭时){ 如果(关闭时的类型!=“函数”)

我有一张预订表,我只需要两个输入#签入和#签出,这就是为什么我使用datepicker和daterange一切正常几乎一件事是我如何在两次约会之间选择15天

顺便说一下,我用的是

$(文档).ready(函数(){
$('.flexdatalist').flexdatalist({
最小长度:0,
是的,
}).on('选择:flexdatalist',函数(){
$('#签入')。触发器(“单击”);
});
assignPicker=函数(id,关闭时){
如果(关闭时的类型!=“函数”){
whenClosed=null;
}
返回新皮卡日({
月数:2,
字段:document.getElementById(id),
格式:“DD.MM.YYYY”,
minDate:新日期(),
第一天:1,
maxDate:新日期(2020年12月31日),
onSelect:function(){
e=this.getDate();
},
onSelect:whenClosed
});
}
赋值选择器('签入',函数(){
$('#checkout')。触发器(“单击”);
});
赋值选择器('签出',函数(){
$('select')。触发(“单击”);
});
});
正文{
填充:30px;
}
输入,
挑选{
宽度:100%;
填充:10px;
边框:1px实心#ccc;
}

PHP
JavaScript
Cobol
C#
C++
JAVA
帕斯卡
FORTRAN
口齿不清
敏捷的
动作脚本
选择
1.
2.
3.
4.
5.
6.
7.

您可以保存对签出选取器的引用,然后将函数绑定到签入选取器的
onSelect
方法,并相应地调整签出日期选取器。您可以(也可能应该)加载,以使日期计算变得更容易。如果没有它,Pikaday(您正在使用的)的
format
属性甚至无法工作

$(document).ready(function() {

  $('.flexdatalist').flexdatalist({
    minLength: 0,
    searchContain: true,
  }).on('select:flexdatalist', function() {
    $('#checkin').trigger("click");
  });

  assignPicker = function(id, whenClosed) {
    if (typeof whenClosed !== 'function') {
      whenClosed = null;
    }

    return new Pikaday({
      numberOfMonths: 2,
      field: document.getElementById(id),
      format: "DD.MM.YYYY",
      minDate: new Date(),
      firstDay: 1,
      maxDate: new Date(2020, 12, 31),
      onSelect: whenClosed
    });
  }

  var checkoutPicker = assignPicker('checkout', function() {
    $('#select').trigger("click");
  });

  var checkinPicker = assignPicker('checkin', function() {
    var maxDate = this.getMoment().add(15, 'days');
    checkoutPicker.setMaxDate(maxDate.toDate());
    checkoutPicker.setMinDate(this.getDate()); // min date of checkout = checkin
    checkoutPicker.setDate(null);
    $('#checkout').trigger("click"); // trigger checkout picker
  });

});

谢谢。签入后,它没有将焦点放在签出上。我猜问题出在getMoment上,我不想getMoment.js。没有矩。js有什么办法吗?只需添加
$(“#签出”)。触发(“单击”)到签入选择器回调函数。当然,您不必使用Moment.js,例如,请参见。但在JS中处理日期(夏令时、闰年、时区等)时,有很多事情需要考虑,而“时刻”处理所有事情。它让生活更轻松,所以我建议你一定要使用它。谢谢。。我应该在哪里输入
$('#checkout')。触发(“单击”)代码?如何编写
#checkin
的回调?顺便说一下,谢谢