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

Jquery ui Select元素上的数据绑定在某些情况下不刷新,jquery-ui,knockout.js,Jquery Ui,Knockout.js,我有一个Select元素,我正在使用jQueryUI创建它,然后用knockout绑定它。我还有一个用于过滤的文本输入元素(以与Select相同的方式创建)。在大多数情况下,过滤工作正常,但有时如果文本框中有一个值,我用鼠标选择它,然后按Delete键,我的事件就会触发,数据会更改,但UI不会刷新 以下是我的计算属性的代码: self.filteredItems = ko.computed(function () { if (self.valueToFilter() === "") {

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

以下是我的计算属性的代码:

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);
        });
    }
});

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

这将使您的代码在IE10上工作:

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


另请参见:

我无法重现您的问题。你能提供一把小提琴来演示它吗?这是我的测试:@Markus谢谢你的演示链接。事实证明,我所经历的问题似乎只发生在IE中。我在看你的小提琴时注意到了这一点。