Метод значения datepicker в Kendo не запускает собственное событие изменения

Если я выберу дату в Kendo UI datepicker с помощью мыши, мой наблюдатель (привязанный viewModel) увидит изменения. Но если я установлю значение datepicker в коде, вот так:

$("#dateFromFilter").data("kendoDatePicker").value(todayDate);

наблюдатель не улавливает событие:

dateRangeViewModel = kendo.observable({
        selectedDateFrom: null,
        onChange: function (e) {
// selectedDateFrom is not changing because datePicker change event don't work for this
        console.log("date: " + kendo.toString(this.get("selectedDateFrom"), "D"));      
        }
});

kendo.bind($("#dateFromFilter"), dateRangeViewModel);

Это правильное поведение? Как решить проблему?

JSfidler: http://jsfiddle.net/asartem/q5xoyhx9/11/

1 ответ

Решение

Событие изменения входного виджета инициируется только действием пользователя. Элементы DOM работают таким же образом.

Если вам нужно вызвать событие вручную, используйте метод триггера.

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

Демо: http://jsfiddle.net/q5xoyhx9/24/

Это не ошибка, это дизайн

Виджеты ввода не вызывают событие изменения при использовании API

http://docs.telerik.com/kendo-ui/troubleshooting

Другие вопросы по тегам