2

剣道の日付ピッカーに興味深い問題があることに気付きました。

@(Html.Kendo().DatePickerFor(m => m.BirthDate)
    .Start(CalendarView.Century)
)

@(Html.Kendo().DatePickerFor(m => m.FutureDate)
    .Start(CalendarView.Month)    
)

デフォルト値がない場合、両方の日付ピッカーが現在の日付にフォーカスして開きます。ただし、一方の日付を選択すると、もう一方は同じ日付にフォーカスします。たとえば、BirthDate に 1970 年 1 月 7 日を選択すると、FutureDate は 1970 年 1 月にフォーカスして開きます。

デフォルト値が指定されている場合、各日付ピッカーはその日付にフォーカスしたままになります。

各日付ピッカーが現在の日付に焦点を合わせたままにしたいのですが、現在の日付をデフォルトとして設定したくありません。ユーザーが設定するまで、各日付ピッカーを空白のままにしたいと思います。

解決策はありますか?現在 Kendo 2012.3.1315 を使用していますが、これは最新バージョンで発生しますか? そうでない場合は、チームにアップグレードするよう説得できるかもしれません。

4

1 に答える 1

0

しばらくしてから、私自身の質問に答えるために:

Kendo の最新バージョン (2013 年第 2 四半期) をテストできましたが、この問題は修正されているようです。残念ながら、私のチームは現時点でアップグレードを望んでいません。この問題を回避するために、この Javascript 修正プログラムを作成しました。

function fixKendoDatePicker(datepicker) {
    if (!datepicker.value()) {
       datepicker.value(new Date());
       datepicker.dateView._calendar();
       datepicker.value(null);
    }
}

_calendar() の呼び出しにより、ウィジェットはその値に一致するように内部カレンダーを変更します。それ以外の場合は、通常、datepicker ポップアップが開かれない限り変更されず、このメソッドは効果がありません。

于 2013-08-22T14:21:55.827 に答える