Kendo combobox - jQuery val()不会触发viewmodel值的变化

时间:2012-12-15 18:03:43

标签: jquery kendo-ui

我的页面中有很多kendo组合框。我在清除值方面遇到了一些问题(“”);我正在使用这样的代码:

$('#clearAll').click(function () {       
        $("#params input").val("");        
    });

有了这个,我正在尝试清除页面上所有输入的值。但是,这只清除了可见值,当我在viewmodel中检查值时,它们仍然保持不变。

所以我想,需要触发更改事件,所以我使用了:

$("#params input").trigger("change");

但仍然如此。我不太了解kendo的MVVM中的值绑定规则。这是正常行为还是错误?

1 个答案:

答案 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("");