2013-11-26 63 views
0

我必須設置最大日期到上個月的最後一個日期,當前月份的第15天。 我可以得到上個月的最後一個日期,但是如何才能在本月15日之後才能得到上個月的最後日期。jquery datepicker max設置

爲如:今天

如果今天是11月14日則在日期選擇最多的日期應爲9月30日其他的是11月15日則在日期選擇最多的日期應該是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'); 
     } 
    }); 
    }); 

回答

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(); 

希望你能理解。

+0

我已經添加了函數u創建並調用它,但它不工作任何建議? $(函數(){ $( 「#from」).datepicker({ changeMonth:真, changeYear:真, \t DATEFORMAT: 'DD-MM-YY', \t的minDate:新的日期(2013年,3 ,1), maxDate:getMaxDate, – Mani

+0

@ user2911353對不起,錯誤,我已經糾正它。現在檢查。 – Praveen

+0

Praveen我有點迷失在兩個代碼段,你可以指出你做了什麼變化,謝謝 – Mani