Jquery datepicker最大设置

时间:2013-11-26 05:29:31

标签: jquery datepicker jquery-ui-datepicker

我必须在当月的15日之前和之后将最大日期设置为上个月的最后日期。 我能够获得上个月的最后一个日期,但是如何在当月的15个月之后才能获得上个月的最后一个日期。

例如:

如果今天是11月14日,那么datepicker的最大日期应该是9月30日,否则今天是11月15日,那么datepicker的最大日期应该是10月31日。

如何更新我的代码以实现此目的。

var maxDate = new Date();
maxDate.setMonth(maxDate.getMonth()-0, 0);
$(function() {
    $( "#from" ).datepicker({
      changeMonth: true,  
      changeYear:true, 
      dateFormat: 'dd-mm-yy',

        minDate: new Date(2013, 3, 1),
        maxDate: maxDate,
        beforeShow: function(){    
           $(".ui-datepicker").css('font-size', 10) 
                },
      onSelect: function( selectedDate ) {
      $( "#to" ).datepicker( "option", "minDate", selectedDate );
       }
       });
    $( "#to" ).datepicker({      
      changeMonth: true,   
      changeYear:true,
      dateFormat: 'dd-mm-yy',

        minDate: new Date(2013, 3, 1),
        maxDate: maxDate,
        beforeShow: function(){    
           $(".ui-datepicker").css('font-size', 10) 
                },
      onSelect: function( selectedDate ) {
        $( "#from" ).datepicker( "option", "maxDate", selectedDate );
        $.datepicker.formatDate('dd-mm-yyyy');
      }
    });
  }); 

1 个答案:

答案 0 :(得分:0)

我编写了一个名为 getMaxDate() 的方法,该方法根据以下条件返回 maxdate

条件1

今天的日期是< 15,然后maxDate 今天的月份-2和该月的最后一个日期。

条件2

今天的日期是> = 15,然后maxDate 今天的月份-1和该月的最后一个日期。

function getMaxDate() {
    var today = new Date();
    var max = new Date();
    if (today.getDate() < 15) {
        max.setMonth(max.getMonth() - 1, 0);        
    } else {
        max.setMonth(max.getMonth() - 0, 0);
    }
    return max;
}

然后将其称为

maxDate = getMaxDate();

希望你明白。