Select元素上的数据绑定在某些情况下不刷新

时间:2013-04-25 16:05:47

标签: jquery-ui knockout.js

我有一个Select元素,我正在使用jQueryUI创建,然后使用knockout绑定。我还有一个文本输入元素,我用来过滤(创建方式与Select相同)。在大多数情况下,过滤工作正常,但有时如果文本框中有值,我用鼠标选择它然后点击Delete键我的事件触发,数据会被更改,但UI不会刷新。

以下是我的Computed属性的代码:

self.filteredItems = ko.computed(function () {
    if (self.valueToFilter() === "") {
        return self.items();
        //when the value is cleared this line gets
        //ran properly but the UI doesn't update
    } else {
        return jQuery.grep(self.items(), function (i) {
            return (i.indexOf(self.valueToFilter()) === 0);
        });
    }
});

任何帮助将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:0)

这应该使您的代码适用于IE10:

<input type="text" id="in" data-bind="value: valueToFilter, valueUpdate: 'afterkeydown', event: { mouseup: function () {  valueToFilter(''); }}"/>

另请参阅:Event fired when clearing text input on IE10 with clear icon