我有一个包含3个输入字段的表单,它使用jQuery的DatePicker插件。字段是#startdate,#endate和#raindate。我正在使用DatePicker的事件函数来使#startdate和#enddate一起工作,所以#enddate不能在#startdate之前。顺便说一下,这两个领域都是必需的。 #raindate字段不是必需的。但是,如果用户想在此处添加日期,我希望它在#enddate中选择的日期之后。我该怎么做呢?以下是让startdate和enddate一起工作的代码:
function getDates() {
var dates = $("#startdate, #enddate" ).datepicker({
defaultDate: "+1d",
changeMonth: true,
numberOfMonths: 1,
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 );
}
});
}
有没有办法指定这样的东西?:
minDate: $(#enddate).val() + 1d
答案 0 :(得分:1)
是的,有一个名为minDate的选项,它还支持更多选项。
要获取所有可用选项,请转至 -
http://jqueryui.com/demos/datepicker/
在那里转到选项标签。
以上代码可以实现 -
$('#raindate').datepicker({
dateFormat: "dd M yy",
beforeShow: customRange,
//Your other configurations.
});
function customRange(input) {
if (input.id == "raindate")
{
dateMin = new Date();
if ($("#enddate").datepicker("getDate") != null)
{
dateMin = $("#enddate").datepicker("getDate");
dateMin.setDate(dateMin.getDate() + 1);
}
}
return {
minDate: dateMin
};
}