无法将 maxDate 从结束日期设置为输入开始日期 + 30 天
Can't set maxDate from an enddate to input startdate + 30 days
我有 2 个输入字段要求开始日期和结束日期。无论何时填写开始日期,结束日期的可能性都应更改,因此您只能在填写的开始日期后 30 天之前的日期之间进行选择。除了第二个块的第 2 行,下面的所有内容都可以正常工作,在那里我尝试执行上面解释的操作。有任何想法吗? (使用 asp.net 和 Jquery)
前端:
<p><asp:TextBox ID="dateStart" runat="server" CssClass="texter" placeholder="<%$ Resources:GlobalResource, startperiode%>" ></asp:TextBox></p>
<p><asp:TextBox ID="dateEnd" runat="server" CssClass="texter" placeholder="<%$ Resources:GlobalResource, eindperiode%>" ></asp:TextBox></p>
JQUERY:
$("#ctl00_ContentPlaceHolder1_dateStart").datepicker({
dateFormat: "yy-mm-dd",
minDate: +0,
onSelect: function () {
$('label[for=dateStart]').fadeOut("fast");
}
});
$("#ctl00_ContentPlaceHolder1_dateStart").change(function () {
$(this).datepicker('setDate', $(this).datepicker('getDate'));
$("#ctl00_ContentPlaceHolder1_dateEnd").datepicker('maxDate', $("#ctl00_ContentPlaceHolder1_dateStart").datepicker('getDate') + 30);
}).datepicker({
dateFormat: "yy-mm-dd",
onSelect: function () {
$('label[for=dateStart]').fadeOut("fast");
}
});
$("#ctl00_ContentPlaceHolder1_dateEnd").datepicker({
dateFormat: "yy-mm-dd",
minDate: +0,
onSelect: function () {
$('label[for=dateStart]').fadeOut("fast");
}
});
$("#ctl00_ContentPlaceHolder1_dateEnd").change(function () {
$(this).datepicker('setDate', $(this).datepicker('getDate'));
}).datepicker({
dateFormat: "yy-mm-dd",
onSelect: function () {
$('label[for=dateEnd]').fadeOut("fast");
}
});
您需要将它放在 $("#ctl00_ContentPlaceHolder1_dateStart") 日期选择器的 "onSelect" 函数中。
$("#ctl00_ContentPlaceHolder1_dateStart").datepicker({
dateFormat: "yy-mm-dd",
minDate: +0,
onSelect: function () {
$('label[for=dateStart]').fadeOut("fast");
var startDate = $("#ctl00_ContentPlaceHolder1_dateStart").datepicker('getDate');
startDate.setDate(startDate.getDate() + 30);
$("#ctl00_ContentPlaceHolder1_dateEnd").datepicker('option', 'maxDate', startDate );
}
});
我有 2 个输入字段要求开始日期和结束日期。无论何时填写开始日期,结束日期的可能性都应更改,因此您只能在填写的开始日期后 30 天之前的日期之间进行选择。除了第二个块的第 2 行,下面的所有内容都可以正常工作,在那里我尝试执行上面解释的操作。有任何想法吗? (使用 asp.net 和 Jquery)
前端:
<p><asp:TextBox ID="dateStart" runat="server" CssClass="texter" placeholder="<%$ Resources:GlobalResource, startperiode%>" ></asp:TextBox></p>
<p><asp:TextBox ID="dateEnd" runat="server" CssClass="texter" placeholder="<%$ Resources:GlobalResource, eindperiode%>" ></asp:TextBox></p>
JQUERY:
$("#ctl00_ContentPlaceHolder1_dateStart").datepicker({
dateFormat: "yy-mm-dd",
minDate: +0,
onSelect: function () {
$('label[for=dateStart]').fadeOut("fast");
}
});
$("#ctl00_ContentPlaceHolder1_dateStart").change(function () {
$(this).datepicker('setDate', $(this).datepicker('getDate'));
$("#ctl00_ContentPlaceHolder1_dateEnd").datepicker('maxDate', $("#ctl00_ContentPlaceHolder1_dateStart").datepicker('getDate') + 30);
}).datepicker({
dateFormat: "yy-mm-dd",
onSelect: function () {
$('label[for=dateStart]').fadeOut("fast");
}
});
$("#ctl00_ContentPlaceHolder1_dateEnd").datepicker({
dateFormat: "yy-mm-dd",
minDate: +0,
onSelect: function () {
$('label[for=dateStart]').fadeOut("fast");
}
});
$("#ctl00_ContentPlaceHolder1_dateEnd").change(function () {
$(this).datepicker('setDate', $(this).datepicker('getDate'));
}).datepicker({
dateFormat: "yy-mm-dd",
onSelect: function () {
$('label[for=dateEnd]').fadeOut("fast");
}
});
您需要将它放在 $("#ctl00_ContentPlaceHolder1_dateStart") 日期选择器的 "onSelect" 函数中。
$("#ctl00_ContentPlaceHolder1_dateStart").datepicker({
dateFormat: "yy-mm-dd",
minDate: +0,
onSelect: function () {
$('label[for=dateStart]').fadeOut("fast");
var startDate = $("#ctl00_ContentPlaceHolder1_dateStart").datepicker('getDate');
startDate.setDate(startDate.getDate() + 30);
$("#ctl00_ContentPlaceHolder1_dateEnd").datepicker('option', 'maxDate', startDate );
}
});