2010-07-19 91 views
3

使用DatePicker即时通讯工具为项目插件。但我想禁用日期比今天更旧(用户想不出选择旧日期) 我的JS是:在DatePicker插件中禁用日期比今日早的日期

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
docu

(注:这正是你所发布的链接!)

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

的日期选择器可让您定义 选择日期的下限和上限。

要添加的下限或上限,只是 参数“rangeHigh”和/或 “rangeLow”添加到初始化 对象并设置其值是一个 YYYYMMDD日期格式字符串;对于 例如,下面的代码将限制 日期选择范围 13/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); 
+0

我没有动态禁用日期。 – TheNone 2010-07-19 08:37:54

+0

看到我的编辑!... – 2010-07-19 08:41:43

+0

@Andreas;我知道手册中的问题。以上日期可能是动态的。 $ today和$ datesolderthantoday设置为动态。但我不是很熟悉js。我的问题是,如何动态设置这个日期。 – TheNone 2010-07-19 08:57:06

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) 
     }); 
    }); 
2

对于比upiic的更简单的方法:

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

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