在datepicker中添加日期的问题

时间:2013-07-21 12:43:54

标签: javascript ajax jquery jquery-ui-datepicker

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

1 个答案:

答案 0 :(得分:0)

这是因为当Chkin关闭时,您不会将Chkout设置为Chkin + 1。

$("#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 的范围内。

希望这有帮助。