2012-03-26 45 views
1

我有以下代码:JQuery datepicker - 如何更改特定开始日期的最大日期?

$(function() {   
var dates = $("#from_date, #to_date").datepicker({    
defaultDate: "-1w", 
dateFormat: 'yy-mm-dd', 
      onSelect: function(selectedDate) { 
       if (selectedDate < "2012-03-27") { 
        maxDate: new Date(2012, 03 - 1, 27); // it will set minDate from 25 October 2009 
       }; 
       var option = this.id == "from_date" ? "minDate" : "maxDate", 
       instance = $(this).data("datepicker"), 
       date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat,selectedDate, instance.settings); 
       dates.not(this).datepicker("option", option, date); 

      } 
     }); 

    }); 

我需要的maxDate向仅限于2012-03-27,万一开始日期较小那么。

我什么都试过....真的绝望了这里 感谢, 丹尼

+0

有限在哪个字段?你没有在任何地方使用'maxDate' ... – 2012-03-26 18:28:50

+0

我不明白问题。请澄清你想要达到的目标。 – Marc 2012-03-26 18:44:36

+0

嗨,请允许我澄清: 当某人选择from_date之前是27.03.2012之前的某些内容我想将to_date锁定到27.03.2012 我尝试使用“maxDate:new Date(2012,03 - 1 ,27);“但不是运气。 – 2012-03-26 18:48:25

回答

3

好吧,我现在你正在尝试用的maxDate做看看。您正在尝试在处于事件处理程序中时设置datepicker的选项!

$("#from_date, #to_date").datepicker({ 
    defaultDate: "-1w", 
    dateFormat: 'yy-mm-dd', 
    onSelect: function(selectedDate) { 
     // begin event handler 
     if (selectedDate < "2012-03-27") { 
      // you cannot set option of the datepicker like this from 
      // an event handler ! 
      maxDate: new Date(2012, 03 - 1, 27); 
     } 
     // end of event handler 
    } 
}); 

要更改日期选择器实例的选项,使用该插件的方法“选项”:

$(...).datepicker("option", <optionName>, <newValue>); 

现在,我真不知道要完全理解你想用什么日期但在特定日期的其他日期选择器,你可以设置的minDate 的的maxDate所以只有这个日期是可选择:

if (selectedDate < "2012-03-27") { 
    var maxDate = new Date(2012, 03 - 1, 27); 
    $("#to_date").datepicker("option", 'minDate', maxDate); 
    $("#to_date").datepicker("option", 'maxDate', maxDate); 
}   
相关问题