0

我有 2 个日期选择器绑定到 2 个文本框(ChkinChkout)。当我在中选择一个日期时,Chkin我应该ChkinChkout. 但是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值最初与某些日期绑定。

4

1 回答 1

0

这是因为当Chkin关闭时,您没有设置Chkout+ Chkin1。

在你的$("#Chkin").datepicker({}),添加$("#Chkout").datepicker( "setDate", cout );前调用功能showDays()

解释 :

使用您当前的代码,如果选择的值Chkin小于 7 天或等于ChkoutChkout将自动设置为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 范围内

希望这会有所帮助。

于 2013-07-21T14:09:21.297 回答