如何在jquery UI日期选择器中动态设置最小和最大日期

如何在jquery UI日期选择器中动态设置最小和最大日期,jquery,dynamic,datepicker,Jquery,Dynamic,Datepicker,我已经把两个datepikcer from date和to date放在我的网页上,用于生成报告。我想在两个日期选择器上应用验证来选择日期。我已经为设置datepikcer的最小日期和最大日期编写了通用jquery代码,但它对我不起作用。我还编写了在datepicker关闭时设置最小和最大日期的代码 我的要求是,当datepicker初始化时,我想动态设置最小和最大日期。然后,当用户可以从任何日期选择器中选择日期时,还可以设置另一个最大和最小日期 $("#frm_date").datepicke

我已经把两个datepikcer from date和to date放在我的网页上,用于生成报告。我想在两个日期选择器上应用验证来选择日期。我已经为设置datepikcer的最小日期和最大日期编写了通用jquery代码,但它对我不起作用。我还编写了在datepicker关闭时设置最小和最大日期的代码

我的要求是,当datepicker初始化时,我想动态设置最小和最大日期。然后,当用户可以从任何日期选择器中选择日期时,还可以设置另一个最大和最小日期

$("#frm_date").datepicker({
 showOn: 'button', 
 buttonImage: 'images/calendar.gif', 
 buttonImageOnly: true,
 dateFormat:'yy-mm-dd',
 onClose: function( selectedDate ) {
                            $( "#to_date" ).datepicker( "option", "minDate", selectedDate );
               }
});


 $("#to_date").datepicker({
 showOn: 'button', 
 buttonImage: 'images/calendar.gif', 
 buttonImageOnly: true,
 dateFormat:'yy-mm-dd',
 onClose: function( selectedDate ) {
                      $("#frm_date" ).datepicker( "option", "maxDate", selectedDate );
                   }
 });

$(".datepick").datepicker({dateFormat:'yy-mm-dd',minDate:'2013-09-10' ,maxDate:'2013-10-10'});

您可以在显示日历之前调用
beforeShow
方法设置任何选项:

$("#to_date").datepicker({
    beforeShow:function(){
        $(this).datepicker('option',
                            {
                                minDate:new Date()
                             }
                          );
    }
});

我已使用以下代码解决了我的问题。
另请参见jquery论坛网站上的以下解决方案

$.datepicker.setDefaults({
          showOn: 'button', 
          buttonImage: 'images/calendar.gif', 
          buttonImageOnly: true,
          dateFormat: 'yy-mm-dd',
          minDate: '2013-09-10',
          maxDate: '2013-10-10'
    });
    $('#frm_date').datepicker({
          onSelect: function(selectedDate) {
                $('#to_date').datepicker('option', 'minDate', selectedDate || '2013-09-10');
          }
    });
    $('#to_date').datepicker({
          onSelect: function(selectedDate) {
                $('#frm_date').datepicker('option', 'maxDate', selectedDate || '2013-10-10');
          }
    });

    $(".datepick").datepicker({dateFormat:'yy-mm-dd',minDate:'2013-09-10' ,maxDate:'2013-10-10'});