如何将jquery日期选择器限制为仅当前月份?

sam*_*hna 10 jquery jquery-ui

我想设置日期选择器只显示当前月份,用户无法移动到前几个月或下个月.是否有任何构建功能?

Jel*_*lly 7

使用datapiker:

// temp vars used below
var currentTime = new Date() 
var minDate = new Date(currentTime.getFullYear(), currentTime.getMonth(), +1); //one day next before month
var maxDate =  new Date(currentTime.getFullYear(), currentTime.getMonth() +2, +0); // one day before next month
$( "#datepicker" ).datepicker({ 
minDate: minDate, 
maxDate: maxDate 
});
Run Code Online (Sandbox Code Playgroud)

文档:http://jqueryui.com/demos/datepicker/#min-max


小智 6

$( "#datepicker" ).datepicker({ 
    // Add this line

    stepMonths: 0,
});
Run Code Online (Sandbox Code Playgroud)


Yan*_*hon 2

使用选项minDatemaxDate

你可以用这个minDate得到maxDate

function getMinMaxCurrentDate() {
   var d = new Date();
   var day = d.getDate();         // range 1-31
   var month = d.getMonth() + 1;  // range 1-12
   var year = d.getFullYear();    // ie. (2011)
   var max;

   if (month <= 7) {
      if (month == 2) {
         // check for leap years for Febuary
         var isLeap = new Date(year,1,29).getDate() == 29;
         max = 28 + (isLeap ? 1 : 0);
      } else {
         max = (month & 1) ? 31 : 30;
      }
   } else {
      max = (month & 1) ? 30 : 31;
   }

   return [-day, max - day];

}

var minMax = getMinMaxCurrentDate();
$( "#datepicker" ).datepicker({ minDate: minMax[0], maxDate: minMax[1] });
Run Code Online (Sandbox Code Playgroud)