在DatePicker插件中禁用比今天更早的日期

时间:2010-07-19 08:29:57

标签: jquery

我正在使用DatePicker插件进行项目。但我想禁用比今天更早的日期。(用户无法选择旧日期) 我的js是:

datePickerController.createDatePicker({
formElements:{"inp1":"d-ds-m-ds-Y"} });

在手册中:Both methods accept an Object that represents the dates or date ranges to disable. 我无法通过许多反复试验来禁用旧时代。你能告诉我任何办法吗? 提前致谢

编辑:

datePickerController.setRangeLow("myElementID",$today);

datePickerController.setRangeHigh("myElementID",$old_dayes);

我想在("myElementID","20081201")中设置动态日期。 日期范围:$today$old_days = 'dates older than $today'

3 个答案:

答案 0 :(得分:5)

对于简单的解决方案,请参阅:this site。 快速&容易:))

 $(function () {
       var date = new Date();
       var currentMonth = date.getMonth();
       var currentDate = date.getDate();
       var currentYear = date.getFullYear();

       $('#YourDatepicker').datepicker({
            maxDate: new Date(currentYear, currentMonth, currentDate)
       }); 
  });

答案 1 :(得分:3)

来自docu

(注意:这正是您发布的链接!)

  

限制日期选择,即设置   日期范围

     

使用datePicker可以定义   日期的上限和下限   选择。

     

要添加下限或上限,只需   添加参数“rangeHigh”和/或   “rangeLow”到初始化   对象并将其值设置为a   YYYYMMDD日期格式字符串;对于   例如,以下代码将限制   日期选择范围之外   19/03/1970至20/12/1999:

var opts = {                            
  formElements:{"inp1":"d-sl-m-sl-Y"},
  // Set a range low of 13/03/1970                
  rangeLow:"19700313",
  // Set a range high of 20/12/2009
  rangeHigh:"20091220"                
};      
datePickerController.createDatePicker(opts);

对于那些不愿意滚动的人(在纪录片中只有一行)...

  

动态设置日期范围

     

上下日期范围可以   也可以通过编程方式设置   调用以下两种方法:

// Set the lower limit to be 01/12/2008
datePickerController.setRangeLow("myElementID","20081201");
// Set the upper limit to be 01/12/2009
datePickerController.setRangeHigh("myElementID","20091201");

修改

HTML:

<input type="text" id="datepicker"/>

的javascript:

var today = new Date();
var options = {
    formElements: {
        "datepicker": "d-sl-m-sl-Y"
    },
    rangeLow: today.getFullYear() + today.getMonth() + today.getDay(),
};
datePickerController.createDatePicker(options);

答案 2 :(得分:2)

对于比upiic更简单的方法:

function () {
    $('#DatePickerControlName').datepicker({maxDate: 0}); 
});

NB。 0意味着从现在开始零日。