Jquery 禁用所选日期之前和之后的日期
在报告中,我显示startDate和endDate字段,以使用jQuery ui datepicker选择特定日期。对于startDate和endDate字段,我将今天日期作为默认日期。我的要求是 1) 如果客户直接单击结束日期,则应禁用今天日期之前和之后的日期 2) 如果客户为startdate选择任何特定日期,则对于enddate,应禁用所选日期之前的日期和今天日期之后的日期 我正在使用下面的代码来解决这个问题Jquery 禁用所选日期之前和之后的日期,jquery,Jquery,在报告中,我显示startDate和endDate字段,以使用jQuery ui datepicker选择特定日期。对于startDate和endDate字段,我将今天日期作为默认日期。我的要求是 1) 如果客户直接单击结束日期,则应禁用今天日期之前和之后的日期 2) 如果客户为startdate选择任何特定日期,则对于enddate,应禁用所选日期之前的日期和今天日期之后的日期 我正在使用下面的代码来解决这个问题 var dates = $( "#startDate, #endDate" ).
var dates = $( "#startDate, #endDate" ).datepicker({
defaultDate: "+1w",
dateFormat : 'dd-mm-yy',
changeMonth: true,
numberOfMonths: 1,
changeMonth: true,
changeYear : true,
numberOfMonths: 1,
maxDate: 0,
onSelect: function( selectedDate ) {
var option = this.id == "startDate" ? "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 );
}
});
如果我使用这个,我可以做第二个要求,但不是第一个。但我需要实现这两个条件
如何执行此操作?请尝试以下操作,在选择开始日期和结束日期时,需要调用函数来设置最小日期和最大日期
尝试下面的方法,在选择开始日期和结束日期时,需要调用函数来设置最小日期和最大日期
// To set mindate in enddate
function customRange(input)
{
return {
minDate: (input.id == "end_date" ? $("#start_date").datepicker("getDate") : new Date())
};
}
// To set maxdate in startdate
function customRangeStart(input)
{
return {
maxDate:(input.id == "start_date" ? $("#end_date").datepicker("getDate") : null)
};
}
$(document).ready(function() {
$('#start_date').datepicker(
{
beforeShow: customRangeStart,
minDate: 0,
dateFormat: "yy-mm-dd",
changeYear: true
});
$('#end_date').datepicker(
{
beforeShow: customRange,
dateFormat: "yy-mm-dd",
changeYear: true
});
});