从客户端设置剑道日期选择器的最大日期
Posted
技术标签:
【中文标题】从客户端设置剑道日期选择器的最大日期【英文标题】:set the max date on kendo date picker from client side 【发布时间】:2014-07-24 04:08:35 【问题描述】:我有这个:
var today = new Date();
更新剑道日期选择器:
$('#datepicker').kendoDatePicker(
max: today.setDate(today.getDate()+30);
);
在调试器中,最大值是1404408808080
,但在今天变量中,日期是正确的一个2014-07-03T17:3
。想要将 kendodatepicker 的最大日期设置为从当前日期起 30 天。
【问题讨论】:
【参考方案1】:你必须使用setOptions()
方法来改变它:
var datepicker = $("#datepicker").data("kendoDatePicker");
datepicker.setOptions(
max: new Date(today.setDate(today.getDate()+30))
);
或者如果你想在初始化中这样做:
$("#datepicker").kendoDatePicker(
max: new Date(today.setDate(today.getDate()+30))
);
【讨论】:
看起来它也应该在初始配置期间工作,因为 OP 尝试了according to the docs。 如何限制用户手动输入距今天日期超过 30 天的日期 @Kylok 是的,它确实有效。我虽然他想在初始化后这样做。顺便说一句,从setDate()
返回创建一个新日期是个好主意。
@user1016740 max
应该自动限制它。如果没有,您可以禁用手动输入,但我想这不是您想要的。
是的,我不想限制手动输入,限制用户输入小于最大日期的日期的最佳方法是什么【参考方案2】:
setDate
函数以整数形式返回日期(您发布的长数字);尝试将其作为参数发送到新的 Date 对象,如下所示:
$('#datepicker').kendoDatePicker(
max: new Date(today.setDate(today.getDate()+30));
);
【讨论】:
【参考方案3】:它也是这样工作的
var today = new Date();
var maxDate = today.setDate(today.getDate()+30);
$('#datepicker').kendoDatePicker(
max: new Date(maxDate) );
【讨论】:
【参考方案4】:我认为这是最简单的方法(也根据Kendo 文档)
<input id="datepicker" />
<script>
$("#datepicker").kendoDatePicker();
var datepicker = $("#datepicker").data("kendoDatePicker");
datepicker.max(new Date(2100, 0, 1));
</script>
添加了dojo 示例,查看我们如何限制(最小和最大日期示例)患者条目的出生日期和死亡日期。
【讨论】:
以上是关于从客户端设置剑道日期选择器的最大日期的主要内容,如果未能解决你的问题,请参考以下文章
如何在 android 的 datepicker 对话框中设置最大日期?
iPhone,如何在代码中将日期选择器的最小日期设置为今天?