2012-03-26 67 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); 
}   
相關問題