Установите сегодняшнюю дату для выбора даты кендо

Я хочу установить сегодняшнюю дату в Kendo DatePicker при нажатии кнопки очистки. Я пробовал следовать, но это не работает.

$('#btnClear').click(function () {
  $("#StartDate").data("kendoDatePicker").value(new Date());
});

Приведенный выше код не дает никаких ошибок и не устанавливает сегодняшнюю дату. Он очищает значение текстового поля кендо DatePicker. Примечание. Формат Kendo DatePicker — ММ/дд/гггг.


person Dhwani    schedule 16.08.2014    source источник
comment
@(Html.Kendo().DatePicker() .Name(startDate).Value(DateTime.Today))   -  person Chakra    schedule 27.01.2015


Ответы (6)


Я пробовал следовать и отлично работает для меня.

$('#btnClear').click(function () {
  var todayDate = kendo.toString(kendo.parseDate(new Date()), 'MM/dd/yyyy');
  $("#StartDate").data("kendoDatePicker").value(todayDate);
});
person Dhwani    schedule 16.08.2014
comment
Очень четкий и лаконичный ответ. $(#StartDate).data(kendoDatePicker).value(todayDate); у меня сработало, за исключением того, что мне пришлось использовать .val(todayDate) вместо .value(todayDate) - person T3.0; 06.11.2015
comment
В странах, где используется формат дд/мм/гггг, используйте var todayDate = kendo.toString(kendo.parseDate(new Date()), 'dd/MM/yyyy'); - person Graham Laight; 11.04.2017
comment
после полдня проблем с форматом дат, вот решение! Спасибо! - person Nuno Ribeiro; 21.09.2017
comment
Когда я это делаю, он запускает бесконечный цикл. - person tdbeckett; 05.07.2018
comment
Другой вариант — использовать нативный способ: var today = kendo.date.today(); - person Alex; 19.11.2018

После установки значения средства выбора даты вам необходимо инициировать событие изменения элемента datePicker, например:

$("#StartDate").data("kendoDatePicker").trigger("change");

Объяснение от Телерика:

"DatePicker не будет применять "новую" дату, если она совпадает с его внутренним значением. Когда вы вызываете дату в методе [они имеют в виду использование datepicker.value(myDate< /em>)] и просто установите его дату, тогда также будет установлена ​​внутренняя дата DatePicker"

См. также http://www.telerik.com/forums/datepicker-does-not-update-the-value-in-view

person Chris Halcrow    schedule 10.05.2016

Я использовал это как -

 @(Html.Kendo().DatePicker()
                  .Name("customerOrderDate")
                  .Min(DateTime.Today)
                  .Value(Model.CustomerOrderDate)
                  .HtmlAttributes(new {style = "width:120px"}))

Хорошо, что у Кендо есть структура DateTime в их API.

person Aamol    schedule 15.01.2016

Ответ не сработал для меня, пока я не запустил событие изменения до его установки.

var datePicker = $("#StartDate").data("kendoDatePicker");
var todayDate = new Date();                                   
datePicker.value(todayDate);
datePicker.trigger("change"); // <-- This one did the trick
person Demodave    schedule 13.01.2017

Пожалуйста, ознакомьтесь с этим примером, который может быть вам полезен

http://rniemeyer.github.io/knockout-kendo/web/DatePicker.html

person Rishi Shrivastava    schedule 16.08.2014
comment
ссылку, которую вы должны указать в комментарии, иначе мало кто сможет вас минусовать. - person Suchit kumar; 16.08.2014
comment
для комментария требуется минимум 50 репутации. а у меня 23 поэтому даю ответ. Это полезно? - person Rishi Shrivastava; 16.08.2014
comment
что я знаю, но другие не будут рассматривать это. - person Suchit kumar; 16.08.2014

person    schedule
comment
какая разница? - person Iman Mohamadi; 31.03.2015
comment
Если это не работает для вас, убедитесь, что вы не устанавливаете max: new Date, который, вероятно, будет раньше даты, которую вы пытаетесь установить, как сейчас. - person nullable; 28.10.2018