我的项目是MVC 5;我正在尝试在旋转kendo数字文本框时更新计算文本。
<input class="numeric" data-bind="kendoNumericTextBox:price, events: { spin: change }" />
<hr />
Price: <strong data-bind="text: price"> </strong>
Items: <strong data-bind="text: price"> </strong>
Total: <strong data-bind="text: Total"> </strong>
var ViewModel = function () {
var self = this;
this.price = ko.observable(1);
this.items = ko.observable(2);
this.change = function() {
alert("t");
}
self.Total = ko.computed(function () {
return self.items() * parseInt("0" + self.price(), 10);
});
};
ko.applyBindings(new ViewModel());
事件不起作用,当我在框外点击时,计算出的值有效。这是事件的正确方法吗?
答案 0 :(得分:0)
您可能希望指定绑定:
data-bind="kendoNumericTextBox: { value: price, spin: updateOnSpin }"
在处理程序中,您可以直接更新observable或触发小部件的更改事件:
this.updateOnSpin = function(e) {
e.sender.trigger("change");
}
以下是一个示例小提琴:https://jsfiddle.net/rniemeyer/yh6vokqd/