我正在使用jquery datepicker,我有4个日期:start_date,end_date,publishing_date和departure_date.Here基于start_date我想要禁用未来日期到start_date,同样基于end_date我想要禁用过去日期的结束日期.我无法这样做,尝试了许多选项作为onSelect但我无法获得所需的禁用.这是我的jquery代码.
var dateToday = new Date();
var dates = $("#start_date, #end_date").datepicker({
dateFormat: 'yy-mm-dd',
minDate: dateToday,
onSelect: function(selectedDate) {
var option = this.id == "start_date" ? "minDate" : "maxDate",
instance = $(this).data("datepicker"),
date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
dates.not(this).datepicker("option", option, date);
}
});
$('#departure_date').datepicker({
dateFormat: 'yy-mm-dd',
minDate: $('#end_date').datepicker({
dateFormat: 'dd-mm-yy'
}).val()
});
$('#publishing_date').datepicker({
dateFormat: 'yy-mm-dd',
maxDate: $('#start_date').datepicker({
dateFormat: 'dd-mm-yy'
}).val()
});
欢迎任何建议/帮助.谢谢.
也尝试使用如下但无济于事.
$('#publishing_date').datepicker({
dateFormat: 'yy-mm-dd',
maxDate : ($.datepicker.formatDate('yy-mm-dd', $('#start_date').datepicker("getDate")))
});
解决方法:
根据@Mahesh Sapkal的建议,我对我的代码进行了以下更改.
var dateToday = new Date();
var dates = $("#start_date, #end_date").datepicker({
dateFormat: 'yy-mm-dd',
minDate: dateToday,
onSelect: function(selectedDate) {
var option = this.id == "start_date" ? "minDate" : "maxDate",
instance = $(this).data("datepicker"),
date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
if(this.id == "start_date"){
$("#publishing_date").datepicker({
dateFormat: 'yy-mm-dd',
minDate: dateToday,
maxDate: date
});
}
if(this.id == 'end_date'){
$("#departure_date").datepicker({
dateFormat: 'yy-mm-dd',
minDate: date
})
}
dates.not(this).datepicker("option", option, date);
}
});
不知道为什么,但他的建议
$(“#destparture_date”).datepicker(“option”,“minDate”,date);
不适合我.