jquery ui使用datepicker选择数据范围

时间:2014-07-12 22:04:04

标签: jquery jquery-ui datepicker

我正在使用jquery datepicker。 所以我让用户选择一个签到日期。 根据一般知识,您无法在入住日期之前选择退房日期。 一旦用户选择结帐日期并确保至少在一天之后,我就一直试图将签出日期设置为主题。 也就是说,如果用户选择日期为2014年7月23日,则在用户更改之前,结帐字段应自动设置为07/24/2014。

以下代码似乎没有这样做..请帮助

$('#checkindate').datepicker(
{
    showButtonPanel: true,
    minDate:0,
     onClose: function(selectedDate)
    {
        $( "#checkoutdate" ).datepicker("option","minDate",selectedDate);
        alert(selectedDate+"1D");
    }   
});

1 个答案:

答案 0 :(得分:0)

在下面的示例中,我有2个像您一样的日期时间选择器,我使用您的项目名称进行了编辑:

var startDateTextBox = $('#checkindate');
var endDateTextBox = $('#checkoutdate');

// Start-End Date pickers
startDateTextBox.datepicker({
    // Update other date from selection
    onClose: function (dateText, inst) {
        var testStartDate = startDateTextBox.datepicker('getDate');
        if (endDateTextBox.val()) {
            var testEndDate = endDateTextBox.datepicker('getDate');
            if (testStartDate > testEndDate)
                endDateTextBox.datepicker('setDate', testStartDate);
        }
        else {
            endDateTextBox.datepicker('setDate', testStartDate);
        }
    },
    onSelect: function (selectedDate) {
        endDateTextBox.datepicker('option', 'minDate', startDateTextBox.datepicker('getDate'));
    }
});

endDateTextBox.datepicker({
    // Update other date from selection
    onClose: function (dateText, inst) {
        var testStartDate = startDateTextBox.datepicker('getDate');
        if (startDateTextBox.val()) {
            var testEndDate = endDateTextBox.datepicker('getDate');
            if (testStartDate > testEndDate)
                startDateTextBox.datepicker('setDate', testEndDate);
        }
        else {
            startDateTextBox.datepicker('setDate', testStartDate);
        }
    },
    onSelect: function (selectedDate) {
        startDateTextBox.datepicker('option', 'maxDate', endDateTextBox.datepicker('getDate'));
    }
});
相关问题