2014-01-06 4 views
3

Возможно ли настроить числовое текстовое поле кендо, которое моя модель просмотра будет получать обновление, когда я нажму на спину или измените номера с помощью клавиш? На данный момент, только если числовое текстовое поле потеряет фокус, моя модель представления получит событие обновления.Событие изменения числового текстового поля Kendo без потери фокуса

Кендо вариант привязки данных стоимость обновления ... не имеет, к сожалению, не влияет на числовые текстовые поля

Спасибо за любую помощь

+0

Я не совсем уверен, что вы пытаетесь достичь, но вы можете захотеть взглянуть на это: http://docs.kendoui.com/api/web/numerictextbox#events-change. (Поздравляю с вашим веселым именем пользователя :)) – eevaa

+0

thx Я видел эту страницу раньше, но у меня появилась новая идея сделать привязку вручную к моей модели просмотра, если запущено событие спина: spin: function() { var value = this.value (); viewModel.set ("MyViewModelProperty", значение); } Но теперь у меня все еще есть proplem, если пользователь обновляет числовое текстовое поле с помощью клавиатуры, что моя модель просмотра получает только обновление, когда числовое обновление потеряло его фокус ... – ZwenigHirni

ответ

2

Вы можете попробовать следующий код. Меня устраивает.

ViewModel

viewModel.bind("change", function (e) { 
     console.log("property Changed on spin "); 
    }); 

Бритва код

<input id="tbSlideDuration" data-role="numerictextbox" 
          data-format="#" 
          data-min="1" 
          data-max="100" 
          data-bind="value:slideDuration, events: {spin:change}" /> 

это будет вызывать событие изменения под капотом :)

0

Я знаю, что это своего рода поздно, но вот мое решение:

var numericBox = $("#yournumericinput").data("kendoNumericTextBox"); 
. 
. 
. 
numericBox.element.on("keyup", function (e) { 
    var newValue = e.target.value;   
    numericBox.value(newValue); 
    numericBox.trigger("change"); 
}); 

Таким образом, событие change запускается сразу после того, как пользователь ввел новое значение, не дожидаясь события blur. Проверки на достоверность данных удаляются для краткости, но я советую вам выполнить их.

И вы также можете связать слушателя spin, чтобы вызвать событие change.

numericBox.bind("spin", function (e) { 
    this.trigger("change"); 
}); 
Смежные вопросы