从客户端设置剑道日期选择器的最大日期

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 对话框中设置最大日期?

如何在 SwiftUI 中延迟 @State 变量的设置值

剑道日期选择器选择日期应该从年份开始

iPhone,如何在代码中将日期选择器的最小日期设置为今天?

如何设置 jQuery 日期选择器的年份范围:1900 到当前年份,或 1900 到 9999

设置日期选择器的值?