在 Jquery Ui Datepicker 中禁用今天之后的未来日期
Posted
技术标签:
【中文标题】在 Jquery Ui Datepicker 中禁用今天之后的未来日期【英文标题】:Disable future dates after today in Jquery Ui Datepicker 【发布时间】:2014-03-27 05:04:41 【问题描述】:我想在 Jquery Ui Datepicker 中禁用今天之后的所有未来日期
这是Demo:
代码:
$( "#start_date" ).datepicker(
maxDate: '0',
beforeShow : function()
jQuery( this ).datepicker('option','maxDate', jQuery('#end_date').val() );
,
altFormat: "dd/mm/yy",
dateFormat: 'dd/mm/yy'
);
$( "#end_date" ).datepicker(
maxDate: '0',
beforeShow : function()
jQuery( this ).datepicker('option','minDate', jQuery('#start_date').val() );
,
altFormat: "dd/mm/yy",
dateFormat: 'dd/mm/yy'
);
【问题讨论】:
Disable future dates in jQuery UI Datepicker的可能重复 【参考方案1】:试试这个
$(function()
$( "#datepicker" ).datepicker( maxDate: new Date() );
);
或者您可以使用以下方式实现此目的:
$(function()
$( "#datepicker" ).datepicker( maxDate: 0 );
);
Reference
DEMO
UPDATED ANSWER
【讨论】:
@Amit:谢谢你的回答,它很有魅力。 不知何故这个$('#birth_date').datetimepicker( timepicker:false, format:'d/m/Y', maxDate : '0', maxDateTime:new Date() );
不起作用。
$(function() $( "#datepicker" ).datepicker( maxDate: new Date() ); );为我工作【参考方案2】:
这对我有用endDate: "today"
$('#datepicker').datepicker(
format: "dd/mm/yyyy",
autoclose: true,
orientation: "top",
endDate: "today"
);
SOURCE
【讨论】:
这个endDate: "today"
帮助了我【参考方案3】:
就我而言,我已将此属性赋予输入标签
data-date-start-date="0d"
data-date-end-date="0d"
【讨论】:
如果你有一个适用于所有日期选择器的通用 JS 代码,并且你需要在一个或两个字段中限制日期,那么这应该是首选。【参考方案4】:你可以这样做
$(function()
$( "#datepicker" ).datepicker( maxDate: new Date );
);
JSFiddle
仅供参考:在检查documentation 时,发现它也接受数值。
数字:从今天开始的天数。例如 2 代表两天 从今天开始,-1 代表昨天。
所以0
代表今天。所以你也可以这样做
$( "#datepicker" ).datepicker( maxDate: 0 );
【讨论】:
请修改我的小提琴 @CodeHunter 我可以知道start_date
或end_date
是哪一个吗?
开始日期很明显【参考方案5】:
将 maxDate 更改为当前日期
maxDate: new Date()
它将当前日期设置为最大值。
【讨论】:
【参考方案6】:如果您要附加 Dtpicker,请使用以下代码
$('#enddate').appendDtpicker(
"dateOnly": true,
"dateFormat": "YYYY-MM-DD",
"closeOnSelected": true,
maxDate: new Date()
);
【讨论】:
【参考方案7】:日期选择器没有maxDate
选项。我使用了这个 endDate 选项。效果很好。
$('.demo-calendar-default').datepicker(
autoHide: true,
zIndex: 2048,
format: 'dd/mm/yyyy',
endDate: new Date()
);
【讨论】:
【参考方案8】://禁用当前日期之后的未来日期
$("#datepicker").datepicker('setEndDate', new Date());
//禁用当前日期之后的过去日期
$("#datepicker").datepicker('setEndDate', new Date());
【讨论】:
您禁用过去日期的代码看起来不正确.. 不应该是开始日期吗?【参考方案9】:maxDate: new Date()
它对我来说工作正常,在日期范围选择器中禁用当前日期
【讨论】:
我认为这不会对现有答案增加任何内容。以上是关于在 Jquery Ui Datepicker 中禁用今天之后的未来日期的主要内容,如果未能解决你的问题,请参考以下文章
jQuery datepicker - 在初始化后更改 .ui-datepicker-calendar 的显示
将 JQuery UI Datepicker 与来自 Jquery UI 主题的图标一起使用