我正在尝试整理我网站上的所有小小的砰砰声,但是使用jQuery来解决所有问题。这包括使用jQuery UI作为datepicker。
datepicker有两个实例,ArrivalDate和DepartureDate,我需要动态设置Departure Date到用户刚刚输入ArrivalDate的日期。 即如果用户选择了12月25日作为到达日期,则DepartureDate应该将26 Dec作为默认值,并且应禁用12月26日之前的所有日期。
我已经尝试过在StackOverflow和其他地方找到的一些东西的帮助,但它们似乎都不适合我。这就是我目前所拥有的:
$('#ArrivalDate').datepicker({
minDate: 0,
defaultDate: 0,
dateFormat: "d M yy",
changeMonth: true,
changeYear: true,
onClose: function(dateText, inst){
var d = $.datepicker.parseDate(inst.settings.dateFormat, dateText);
d.setDate(d.getDate()+1);
$('#DepartureDate').val($.datepicker.formatDate(inst.settings.dateFormat, d));
}
}),
$('#DepartureDate').datepicker({
minDate: "d",
defaultDate: "d",
dateFormat: "d M yy",
changeMonth: true,
changeYear: true,
}),
但DepartureDate仍然将minDate和defaultDate视为'0'。
答案 0 :(得分:0)
这可以很容易地解决,这是一个工作小提琴:http://jsfiddle.net/dwaddell/Q2kkG/
onClose: function (dateText, inst) {
var d = $.datepicker.parseDate(inst.settings.dateFormat, dateText);
d.setDate(d.getDate() + 1);
$('#DepartureDate').val($.datepicker.formatDate(inst.settings.dateFormat, d));
$('#DepartureDate').datepicker('option', {
minDate: $.datepicker.formatDate(inst.settings.dateFormat, d)
});
}
此外,您可能希望在http://api.jqueryui.com/datepicker/#method-setDate查看API,您可能希望在我更改之前使用setDate而不是val。或者两者兼而有之。