【问题标题】:How to Set minimum and maximum date dynamically in jquery UI date picker如何在 jquery UI 日期选择器中动态设置最小和最大日期
【发布时间】:2013-10-11 04:33:11
【问题描述】:

我已经在我的网页中放置了两个 datepikcer 从 date 到 date 以生成报告。我想在两个日期选择器上应用验证以选择日期。我已经编写了通用 jquery 代码来设置 datepikcer 的最小和最大日期,但它对我不起作用。我还编写了在 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'});

【问题讨论】:

    标签: jquery dynamic datepicker


    【解决方案1】:

    我已经使用下面的代码解决了我的问题。
    另请参阅 jquery 论坛网站上的以下解决方案。 https://forum.jquery.com/topic/how-to-set-minimum-and-maximum-date-dynamically-in-jquery-ui-date-picker

    $.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'});
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2018-07-07
        • 2018-05-22
        • 1970-01-01
        • 2020-05-31
        • 1970-01-01
        • 2015-10-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多