クリアボタンのクリック時に今日の日付をKendo DatePickerに設定したい。フォローしようとしましたが、うまくいきません。
$('#btnClear').click(function () {
$("#StartDate").data("kendoDatePicker").value(new Date());
});
上記のコードではエラーが発生せず、今日の日付を設定しません。 kendo DatePickerのテキストボックス値をクリアします。注:Kendo DatePicker形式はMM/dd/yyyyです。
私は次のことを試してみましたが、私にはぴったりです。
$('#btnClear').click(function () {
var todayDate = kendo.toString(kendo.parseDate(new Date()), 'MM/dd/yyyy');
$("#StartDate").data("kendoDatePicker").value(todayDate);
});
$('#btnClear').click(function (e) {
var todayDate = new Date();
$('#StartDate').data("kendoDatePicker").value(todayDate);
});
Datepickerの値を設定した後、datePickerのchangeイベントをトリガーする必要があります。例:
$("#StartDate").data("kendoDatePicker").trigger("change");
Telerikからの説明:
「DatePickerは、内部値と同じ場合、「新しい」日付を適用しません。メソッドで日付を呼び出すと、[datepicker。value( myDate)]そして、日付を設定するだけで、DatePickerの内部日付も設定されます。
こちらもご覧ください http://www.telerik.com/forums/datepicker-does-not-update-the-value-in-view
私はそれを次のように使用しました-
@(Html.Kendo().DatePicker()
.Name("customerOrderDate")
.Min(DateTime.Today)
.Value(Model.CustomerOrderDate)
.HtmlAttributes(new {style = "width:120px"}))
剣道のAPIにDateTime構造体があるのは良いことです。
答えは私にはうまくいきませんでしたが、設定する前に変更イベントをトリガーするまでそうではありませんでした。
var datePicker = $("#StartDate").data("kendoDatePicker");
var todayDate = new Date();
datePicker.value(todayDate);
datePicker.trigger("change"); // <-- This one did the trick