淘汰kendo数字文本框事件

时间:2016-02-18 06:06:46

标签: javascript asp.net-mvc knockout.js kendo-ui

我的项目是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());

事件不起作用,当我在框外点击时,计算出的值有效。这是事件的正确方法吗?

1 个答案:

答案 0 :(得分:0)

您可能希望指定绑定:

data-bind="kendoNumericTextBox: { value: price, spin: updateOnSpin }"

在处理程序中,您可以直接更新observable或触发小部件的更改事件:

   this.updateOnSpin = function(e) {
      e.sender.trigger("change");   
   }

以下是一个示例小提琴:https://jsfiddle.net/rniemeyer/yh6vokqd/