Javascript 在日期选择器中添加日期时出现问题
我有两个日期选择器绑定到两个文本框(Javascript 在日期选择器中添加日期时出现问题,javascript,ajax,jquery,jquery-ui-datepicker,Javascript,Ajax,Jquery,Jquery Ui Datepicker,我有两个日期选择器绑定到两个文本框(Chkin和Chkout)。当我在Chkin中选择一个日期时,我应该在Chkout中显示Chkin+1个日期。但在某些情况下,Chkout日期没有正确填写。有人能告诉我哪里出了问题吗? 我的代码是- $("#Chkin").datepicker({ dateFormat: $("#Dateformat").val(), minDate: '+0', onC
Chkin
和Chkout
)。当我在Chkin
中选择一个日期时,我应该在Chkout
中显示Chkin
+1个日期。但在某些情况下,Chkout
日期没有正确填写。有人能告诉我哪里出了问题吗?
我的代码是-
$("#Chkin").datepicker({
dateFormat: $("#Dateformat").val(),
minDate: '+0',
onClose: function (dateText, inst) {
if ($("#Dateformat").val() == "dd/mm/yy") {
var parts = dateText.split("/");
var cin = new Date(Number(parts[2]), Number(parts[1]) - 1, Number(parts[0]));
}
else {
var cin = new Date(dateText);
}
var cout = new Date(cin.getFullYear(), cin.getMonth(), cin.getDate()+1);
var maxOut= new Date(cin.getFullYear(), cin.getMonth(), cin.getDate()+7);
$("#Chkout").datepicker('option', 'minDate', cout);
$("#Chkout").datepicker('option', 'maxDate', maxOut);
showDays();
}
});
var cin = new Date($("#Chkin").val());
var cout = new Date(cin.getFullYear(), cin.getMonth(), cin.getDate()+1);
var maxOut= new Date(cin.getFullYear(), cin.getMonth(), cin.getDate()+7);
$("#Chkout").datepicker({
dateFormat: $("#ctl00_ContentPlaceHolder1_hdnDateformat").val(),
minDate: cout,
maxDate: maxOut,
onSelect: showDays });
PS:
Chkin
和Chkout
值最初与一些日期绑定。这是因为当Chkin
关闭时,您没有使用Chkin
+1设置Chkout
在你的$(“#Chkin”).datepicker({})中添加$(“#Chkout”).datepicker(“setDate”,cout)代码>调用前函数showDays()
说明:
对于当前代码,如果Chkin
中的选定值小于7天或等于Chkout
,Chkout
将自动设置为Chkin
+1。但是,否则,Chkout
将不会更改
例如:
更改Chkin
之前:
Chkin = 1 August 2013
Chkout = 5 August 2013
Chkout's minDate and maxDate = 2 August 2013 and 8 August 2013
案例1-Chkin
变更为2013年7月22日:
Chkout = 23 July 2013
Chkout's minDate and maxDate = 23 July 2013 and 29 July 2013
案例1说明:Chkout
已更改,因为旧Chkout的值不在新Chkout的minDate和maxDate的范围内
案例2-Chkin
变更为2013年8月3日:
Chkout = 5 August 2013
Chkout's minDate and maxDate = 4 August 2013 and 10 August 2013
案例2说明:Chkout
仍然相同,因为旧Chkout的值在新Chkout的minDate和maxDate范围内
希望这能有所帮助。在什么情况下取消日期计算不正确?与第三方日期采集器相比,您是否验证了代码中存在错误?一些快速的想法——总是将新日期初始化为午夜(例如,新日期(年、月、日期,0、0、0),以避免夏令时的怪异。还有,今年真的是两位数吗?如果只向日期构造函数传递1或2位数的年份,则它假定世纪为19(例如,新日期(7,…)=1907)。