【发布时间】:2015-02-27 13:03:06
【问题描述】:
有两个 Jquery 日期选择器在使用,StartDate 和 EndDate
<input id="StartDate" class="datepicker setNext hasDatepicker" type="text" value="13/02/2015" name="StartDate">
<input id="EndDate" class="datepicker hasDatepicker" type="text" value="15/02/2015" name="EndDate">
选择初始化DatePicker时,我希望Enddate DatePickers成为StartDate + 1天,并使其成为如此之前无法在Enddate中选择的日期而不是StartDate。
我有这个代码:
$(function () {
$(".datepicker").datepicker({
dateFormat: 'dd/mm/yy',
onSelect: function( selectedDate ) {
if(this.id == 'StartDate') {
var minDate = selectedDate + 1;
$('#to').datepicker("option", "minDate", minDate);
}
}
});
});
所以它击中了 onSelect ok,但随后将 1 添加到日期不起作用(我只得到末尾带有 1 的日期字符串,所以 '31/12/20141')。
我还在 OnSelect 中尝试了以下操作,假设 selectedDate 是字符串而不是日期类型:
var minDate = new Date(selectedDate);
var tomorrow = new Date();
tomorrow.setDate(minDate.getDate() + 1);
$('#to').datepicker("option", "minDate", tomorrow);
minDate 最终成为无效日期,明天也是如此。我不知道如何从字符串中设置日期。尝试以下方式:
var minDate = selectedDate.getDate();
给我一个“未捕获的类型错误:未定义不是函数”。
使用 JQuery 1.11.1,英国日期格式 dd/mm/yyyy。
【问题讨论】:
-
如果你尝试这样的事情会发生什么: var date2 = $('#StartDate').datepicker('getDate', '+1d');你会得到 date2 的有效日期吗?
-
将字符串解析为日期不使用您的显示格式,因此
dd/mm/yy在new Date(selectedDate)中返回无效日期
标签: javascript jquery jquery-ui datepicker