0

我正在开发酒店预订应用程序。我使用了 2 个日期选择器来选择入住和退房日期。

但是现在我希望我的第一个日期选择器的当前值默认显示在该文本框中,并且第二个日期选择器的另一个文本框在 2 天后的日期之前填充...

就像这些日期选择器一样......

http://www.yatra.com/hotels.html

任何人都可以建议我,如何做到这一点?

我使用了相同的日期选择器,如链接所示。

提前致谢。

4

4 回答 4

1

您可以设置这样的日期(如果日期选择器已初始化)

$('#your-selector')
    .datepicker('setDate',new Date());

未初始化的日期选择器使用:

$('#your-selector')
    .datepicker().datepicker('setDate',new Date());

在 2 天前创建一个日期......制作这个:

var today = new Date();
var twoDaysBefore = new Date();
twoDaysBefore.setDate(today.getDate()-2);

并设置日期

$('#your-selector')
    .datepicker('setDate', twoDaysBefore);

如果您多次需要此算法,您可以创建一个函数:

var getDate = function(daysDelta) {
    var d = new Date();
    (d.setDate(d.getDate()+daysDelta));
    return  d;
}

console.log(getDate(-3))

如果没有 jQuery(谢谢),请像这样格式化您的日期对象:

var d = getDate(-2);
var yyyy = d.getFullYear().toString();
var mm = (d.getMonth()+1).toString();
var dd  = d.getDate().toString();
var dateAsString =  yyyy + "-" + (mm[1]?mm:"0"+mm[0]) + "-" + (dd[1]?dd:"0"+1);
document.getElementById('id').setAttribute('value', dateAsString);
于 2013-03-01T12:11:56.017 回答
0

今天的日期

$("#date_pick").datepicker('setDate', new Date());

2 天后的日期

var nextDate = new Date(new Date().getTime() + 48 * 60 * 60 * 1000);
$("#date_pick2").datepicker('setDate', nextDate);
于 2013-03-01T12:15:41.193 回答
0

试试这个代码

 $('first').datepicker({

 onSelect: function(){
 var start = $('first').val();

 var date = new Date(start);
 var d = date.getDate();
 var m = date.getMonth();
 var y = date.getFullYear();
 var edate= new Date(y, m, d+2);

 $('second').val(edate);
}
});
于 2013-03-01T12:18:00.400 回答
0

如果 datepicker1 是您的 datepicker id 而 datepicker2 是第二个,那么

$("#datepicker1").val(new date());

var date2 = $('datepicker1').datepicker('getDate', '+2d'); 
date2.setDate(date2.getDate()+1); 

$("#datepicker2").val(date2);
于 2013-03-01T12:13:23.950 回答