将 jquery ui datepicker 上的 maxDate 设置为某个日期
Posted
技术标签:
【中文标题】将 jquery ui datepicker 上的 maxDate 设置为某个日期【英文标题】:Set maxDate on jquery ui datepicker to certain date 【发布时间】:2013-01-19 02:29:24 【问题描述】:我想将 jQuery UI 的 maxDate
设置为 18/02/2013
,但尝试后,它只能让我将其更新为今天的日期。
我该怎么做?
$("#datepicker'.$row['id'].'").datepicker(
minDate: -0,
dateFormat: \'dd/mm/yy\',
maxDate: 18/02/2013
);
【问题讨论】:
您似乎将0.004470938897168405
(18 除以八进制2 除以2013)分配给maxDate
,而不是日期字符串。
你没有遇到语法错误吗?
【参考方案1】:
试试这个:
$("#datepicker").datepicker( minDate: -0, maxDate: new Date(2013, 1, 18) );
如果您想使用硬编码日期,请使用 new Date(2013, 1, 18)
模式。
如果你想使用通用模式,请使用"+1D +1M +1Y"
。
参考链接:http://jsfiddle.net/pradkumar_n/wQe8c/
【讨论】:
我删除 'minDate' 并使用其余部分,它将提前 1 个月显示。对于我想要在'maxDate'中的确切daet,我必须将月份减少1。除此之外效果很好。谢谢 @JayKatira:这是因为无论出于何种原因,month
参数使用从 0 开始的索引,而 day
和 year
从 1 开始。这是那些 WHY?!?! 时刻之一。【参考方案2】:
$( "#datepicker" ).datepicker( minDate: 0, maxDate: 365 );
//365 Days
您也可以使用天数。
【讨论】:
这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review 这里在***中不是为了可以直接用于项目使用的结果。只是 *** 用于提供火花和想法...... :)【参考方案3】:通过将结束日期选择器范围从今天设置为多 7 天,这对我有用。
$endDateCtrl.datepicker("option", "minDate", -0);
$endDateCtrl.datepicker("option", "maxDate", '+7D');
$endDateCtrl.datepicker();
【讨论】:
【参考方案4】:我正在使用事件函数设置最大日期:
$('#datepicker').datepicker(
changeMonth: true,
changeYear: true,
yearRange: "-9:+1",// you can define range of year here.
dateFormat: 'MM yy',
onClose: function ()
var iMonth = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
var iYear = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$(this).datepicker('setDate', new Date(iYear, iMonth, 1));
,
beforeShow: function ()
var selDate = $(this).val();
if ((selDate.length) > 0)
iYear = selDate.substring(selDate.length - 4, selDate.length);
iMonth = jQuery.inArray(selDate.substring(0, selDate.length - 5),
$(this).datepicker('option', 'monthNames'));
$(this).datepicker('option', 'defaultDate', new Date(lastYear, iMonth, 1));
$(this).datepicker('option', 'maxDate', new Date(lastYear, 12, 1));
$(this).datepicker('setDate', new Date(lastYear, iMonth, 1));
);
【讨论】:
【参考方案5】:$(document).ready(function()
$( "#dob" ).datepicker(
maxDate: -0,
changeMonth:true,
changeYear:true,
yearRange:"-100:+100",
dateFormat: "yy-mm-dd",
);
);
【讨论】:
请不要只发布代码作为答案,还要包括对代码的解释以及它如何解决问题的问题。带有解释的答案通常质量更高,更有可能吸引投票。以上是关于将 jquery ui datepicker 上的 maxDate 设置为某个日期的主要内容,如果未能解决你的问题,请参考以下文章
如何清除/重置 jQuery UI Datepicker 日历上的选定日期?
将 JQuery UI Datepicker 与来自 Jquery UI 主题的图标一起使用
jQuery UI 实例 - 日期选择器(Datepicker)