Javascript 使用pikaday日期选择器设置日期范围
我有一张预订表,我只需要两个输入#签入和#签出,这就是为什么我使用datepicker和daterange一切正常几乎一件事是我如何在两次约会之间选择15天 顺便说一下,我用的是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,关闭时){ 如果(关闭时的类型!=“函数”)
$(文档).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
的回调?顺便说一下,谢谢