我的页面中有很多kendo组合框。我在清除值方面遇到了一些问题(“”);我正在使用这样的代码:
$('#clearAll').click(function () {
$("#params input").val("");
});
有了这个,我正在尝试清除页面上所有输入的值。但是,这只清除了可见值,当我在viewmodel中检查值时,它们仍然保持不变。
所以我想,需要触发更改事件,所以我使用了:
$("#params input").trigger("change");
但仍然如此。我不太了解kendo的MVVM中的值绑定规则。这是正常行为还是错误?
答案 0 :(得分:4)
如果你忠于MVVM模式,那么你应该做的是改变ViewModel上的值,而不是View(组合框)。
清除按钮(在视图上) - >调用“clear”函数(在ViewModel上) - >调用viewmodel.set(“field”,“”) - >触发组合框的更新(在视图上)
如果您想按照现有方式进行操作,那么请尝试使用Kendo ComboBox的.val()
函数,而不是调用jQuery的.value()
函数:http://docs.kendoui.com/api/web/combobox#value
因此可能尝试将代码更改为:
$("#params input").data().kendoComboBox.value("");