【问题标题】:How to refresh displayed date in CalendarExtender?如何刷新 CalendarExtender 中显示的日期?
【发布时间】:2015-05-21 10:42:00
【问题描述】:

我有这段代码可以将第二个日历扩展器的最大日期更改为在第一个日历扩展器中定义的日期之后的 90 天,并将最小值更改为在第一个日历扩展器中选择的日期,并且它可以正常工作,除了一件事。

            var cal2 = $find("calendar2");
            var fecha = cal._selectedDate;

            var date = fecha.getDate() + 90;
            var year = fecha.getFullYear();
            var month = fecha.getMonth();

            var todayDate = new Date(year, month, date);


            cal2._startDate = cal._selectedDate;
            cal2._selectedDate = fecha;
            cal2._switchMonth(fecha);
            cal2._endDate = todayDate;

问题是,如果我首先在 cal 上查看日期,日期会正确显示在 cal2 中,但我再次在 cal 上选择一个,然后 cal2 不会显示在与 cal 相同的月份,更糟糕的是它显示选择日期现在无法选择,实际上您可以选择它们,除非您返回到月份模式。

知道如何“刷新”第二个 CalendarExtender 的行为吗?

谢谢。

【问题讨论】:

  • 你确定这在第二次更改时被正确调用了吗?只是为了澄清您将第二个日历设置为第一个日历中选择的日期并将其范围限制为 90 天,对吗?这是一个客户点击日历中的代码吗?

标签: asp.net calendarextender


【解决方案1】:

您可以使用此方法。

Sys.Extended.UI.CalendarBehavior.prototype.refresh = function () {
        this._isOpen = true;
        this._ensureCalendar();
        this.invalidate();
        this._isOpen = false;
    }
添加方法时仅调用:
cal2.refresh()

【讨论】:

  • 你能把你的答案翻译成英文吗?您可以编辑您的答案。
  • Stack Overflow 是一个只有英文的网站。请用英文发帖。 See herehere 了解详情。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-15
  • 1970-01-01
  • 1970-01-01
  • 2021-02-22
  • 2019-09-28
  • 1970-01-01
  • 2021-01-21
相关资源
最近更新 更多