如何从Kendo视图模型中获取DOM元素?

时间:2015-08-24 18:23:36

标签: javascript kendo-ui kendo-mvvm

我想知道是否可以从kendo mvvm获取DOM元素。

我的输入定义如下:

<input id="myInput" type="text" data-bind="value: model.Name" />

在某些时候我在javascript中设置值,如:

myViewModel.set("model.Name", "John Doe");

这会自动设置绑定元素内的值,但在设置该值后,我想更改刚更新的DOM元素。喜欢:

myViewModel.getElement("model.Name").className = "MyClass;

似乎剑道没有那种功能。与kendoBindingTarget

相反的情况可能相反

1 个答案:

答案 0 :(得分:1)

我最终使用custom binding在刷新(这是集合)的地方我可以访问该元素:

HTML

<input id="myInput" type="text" data-bind="customValue: model.Name" />

JS

kendo.data.binders.customValue= kendo.data.Binder.extend({
    init: function(element, bindings, options) {
        kendo.data.Binder.fn.init.call(this, element, bindings, options);

        var that = this;
        $(that.element).on("change", function() {
            that.change();
        });
    },
    refresh: function() {
        var that = this,
            value = that.bindings["customValue"].get();

        $(that.element).val(value).addClass('MyClass'); //<======that.element========
    },
    change: function() {
        var value = this.element.value;
        this.bindings["customValue"].set(value);
    }
});