我想知道是否可以从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
答案 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);
}
});