1

私はTelerik MVC DatePickerを持っています:

<%: Html.Telerik().DatePickerFor(model => model.Date)
                         .TodayButton()
                         .Max(DateTime.Now)
                         .HtmlAttributes(new { @onkeypress = "return allowNumbersWithDot(event);", @onpaste = "return false;" })
                        %>  

Maxプロパティを設定することで、現在の日付までの日付のみを取得し、将来の日付はすべて非表示にします。つまり、現在の日付までのすべての日付を有効にし、将来のすべての日付を無効にします。つまり、ユーザーはすべての日付を表示できますが、現在の日付までしか選択できません。

4

2 に答える 2

2

Max プロパティは、値が設定された後のすべての日付の選択と表示をブロックします。これを回避するには、次のようなクライアント イベント ハンドラーを使用して DatePicker をフォーマットしてみてください。

@Html.Telerik().DatePickerFor(model => model.Date).ClientEvents(e => e.OnChange("onChange"))

次に、次のような検証を追加します。

function onChange(e) {
    var endDate = new Date(); // Your specific date
    if (e.value > endDate) {
        if (e.previousValue === null) {
            $(this).data("tDatePicker").value(null);
        }
        e.preventDefault();
    }
}

この手法の詳細については、Telerik サポート フォーラム ( http://www.telerik.com/community/forums/aspnet-mvc/datepicker/datepicker---prevent-future-date-selection.aspx ) を参照してください。

于 2013-05-06T20:43:49.490 に答える