淘汰剑道数字文本框事件

knockout kendo numerictextbox events

本文关键字:事件 文本 数字 淘汰      更新时间:2023-09-26

我的项目是MVC 5;当我旋转剑道数字文本框时,我正在尝试更新计算文本。

<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());

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

您可能希望指定绑定,如下所示:

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

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

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

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