【发布时间】:2011-12-17 13:38:13
【问题描述】:
我想将今天的日期设置为 jQuery datepicker 的最大日期,以防止用户选择大于今天的日期
【问题讨论】:
标签: javascript jquery jquery-ui-datepicker
我想将今天的日期设置为 jQuery datepicker 的最大日期,以防止用户选择大于今天的日期
【问题讨论】:
标签: javascript jquery jquery-ui-datepicker
$(".datepicker").datepicker({maxDate: '0'});
这会将 maxDate 设置为从当前日期(即今天)起 +0 天。见:
【讨论】:
http://api.jqueryui.com/datepicker/#option-maxDate
$( ".selector" ).datepicker( "option", "maxDate", '+0m +0w' );
【讨论】:
如果您使用的是 bootstrap 3 日期时间选择器,请尝试以下操作:
$('.selector').datetimepicker({ maxDate: $.now() });
【讨论】:
在最近的版本中,以下工作正常:
$('.selector').datetimepicker({
maxDate: new Date()
});
maxDate 接受 Date 对象作为参数。
在文档中找到以下内容:
支持多种类型:
日期:包含最短日期的日期对象。
数字:从今天开始的天数。例如,2 代表从今天起两天,-1 代表昨天。
字符串: 格式由 dateFormat 选项定义的字符串,或 相对日期。相对日期必须包含值和周期对; 有效期间是“y”表示年,“m”表示月,“w”表示周,以及 “d”几天。例如“+1m +7d”代表一个月零七 从今天开始的几天。
【讨论】:
对于那些不想使用 datepicker 方法的人
var alldatepicker= $("[class$=hasDatepicker]");
alldatepicker.each(function(){
var value=$(this).val();
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
if(dd<10) {
dd='0'+dd
}
if(mm<10) {
mm='0'+mm
}
today = mm+'/'+dd+'/'+yyyy;
if(value!=''){
if(value>today){
alert("Date cannot be greater than current date");
}
}
});
【讨论】: