jQuery Datepicker - 以编程方式限制第二个Datepicker

时间:2010-04-03 18:45:02

标签: jquery jquery-ui datepicker

我最近使用以下代码来限制我的第二个日期选择器(结束日期),以便它不在第一个日期选择器的日期之前。

$("#datepicker").datepicker({
 minDate: +5, 
 maxDate: '+1M +10D',  
 onSelect: function(dateText, inst){
           var the_date = dateText;
           $("#datepicker2").datepicker('option', 'minDate', the_date);

 }
 });
 $("#datepicker2").datepicker({

    maxDate: '+1M +10D', 
    onSelect: function(dateText, inst){

    }                       
});

但是,最近,我想使用以下方式格式化我的日期选择器:

dateFormat: 'yy-mm-dd'

但是现在,第二个日期选择器实际上允许用户在前一天选择日期。

例如,如果用户选择第一个日期:2010-04-03,当第二个Datepicker弹出时,他们可以选择2010-04-02(第一个选定日期的前一天)。

我不希望用户能够选择第一天选定日期之前的日期。

我在“dateFormat”中添加后,为什么这不起作用?

2 个答案:

答案 0 :(得分:1)

选项minDate期望日期对象不是字符串对象..但您可以指定格式并按如下方式进行转换:

$(document).ready(function() {  //Runs when tab is loaded

var dateFormat = "yy-mm-dd";

$("#datepicker").datepicker({
 minDate: +5, 
 dateFormat:dateFormat,
 maxDate: '+1M +10D',  
 onSelect: function(dateText, inst){
           var the_date = $.datepicker.parseDate(dateFormat,dateText);
           $("#datepicker2").datepicker('option', 'minDate', the_date)
 }
 });
 $("#datepicker2").datepicker({

    maxDate: '+1M +10D', 
    dateFormat:dateFormat,
    onSelect: function(dateText, inst){

    }                       
});


});

答案 1 :(得分:0)

你也可以这样做

       onSelect: function(){
           $("#datepicker2").datepicker('option', 'minDate', $(this).val());
       }