具有预约日期的Jquery UI日期选择器(日期范围)

时间:2012-03-18 10:38:38

标签: jquery jquery-ui uidatepicker jquery-ui-datepicker

我在两个字段中使用了Jquery UI日期选择器,即book_from和book_to进行预订。

当我专注于book_from时,只有少于book_to的日期和大于或等于今天的日期必须显示在book_from的日期选择器中。

如果book_from = null且book_to = 2012-04-10

然后book_from日期选择器应该只有大于今天的日期(2012-03-18)且小于2012-04-10(book_to)(甚至不是2012-04-10)

如果我专注于book_to,那么在book_to的日期选择器中,只有大于今天日期的日期+大于book_from日期

如果book_from = 2012-04-05

然后book_to日期选择器仅显示大于今天的日期(2012-03-18)且大于2012-04-05(甚至不是2012-04-05)

如果有人知道怎么做,请帮帮我..

1 个答案:

答案 0 :(得分:0)

经过数小时的谷歌搜索后,我终于找到了解决方案,这是预订的日期范围datepicker :)。我不仅仅是用这个术语来解释我的问题。这是解决方案

$('#book_from, #book_to').datepicker({
       minDate: 0,
       changeMonth: true,
       changeYear: true,
        beforeShow: customRange,
        dateFormat: "yy-mm-dd"
    });
function customRange(input) {

    if (input.id == 'book_to') {
        var minDate = new Date($('#book_from').val());
        minDate.setDate(minDate.getDate() + 1)

        return {
            minDate: minDate

        };
    }
    else  if(input.id == 'book_from') {
        var maxDate = new Date($('#book_to').val());
        maxDate.setDate(maxDate.getDate()-1)

        return {
            maxDate: maxDate

        };
    }

    return {}

}