【问题标题】:How can I show a date on a kendo datepicker which is less than min date or greater than max date如何在剑道日期选择器上显示小于最小日期或大于最大日期的日期
【发布时间】:2013-12-24 12:42:23
【问题描述】:

如何在剑道日期选择器上设置小于最小日期(例如 1/1/2013)或大于最大日期(例如 2014 年 1 月 1 日)的日期(例如 2014 年 1 月 1 日)日期选择器选项?

我的要求是将用户的选择限制在 min 和 max 之间的范围内,但我希望 datepicker 显示超出该范围的值(例如,如果该值在数据库中被覆盖)。

【问题讨论】:

  • 您需要能够选择 1900 年 1 月 1 日之前或 2099 年 11 月 31 日之后的日期?
  • 需要显示无效日期(例如 2012 年 1 月 1 日),该日期不在剑道日期选择器的最小日期(2013 年 1 月 1 日)和最大日期(2014 年 1 月 1 日)之间。
  • 您是如何解决这个问题的?我现在有同样的问题。当用户选择时,希望将日期限制为 min - max,但需要能够显示任何日期。

标签: javascript kendo-ui kendo-datepicker


【解决方案1】:

如果您使用 minmax 选项创建日期选择器,如下所示:

var datePicker = $('#input').kendoDatePicker({
    min: new Date(2013, 0, 1),
    max: new Date(2013, 11, 31)
}).data("kendoDatePicker");

那么您不能设置超出该日期范围的值。您可以创建自己的小部件,也可以暂时删除最小/最大限制以设置您的值:

// temporarily remove the restrictions
var min = datePicker.options.min;
var max = datePicker.options.max;
datePicker.options.min = new Date(1900, 0, 1);
datePicker.options.max = new Date(2099, 11, 31);
// set your date which may be outside of the range specified by min/max
datePicker.value(new Date(2009, 0, 1));
// restore the min/max options so the user still can only choose within the range
datePicker.options.min = min;
datePicker.options.max = max;

【讨论】:

    【解决方案2】:

    因此,您需要能够在日期选择器中选择无效日期,但如果该日期无效,则显示错误消息。

    听起来您的日期选择器需要一个剑道验证器小部件。验证器的 Kendo 文档http://docs.kendoui.com/api/framework/validator

    JSbin 示例http://jsbin.com/itiqaDU/1/edit

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-09
      • 2022-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多