我有一个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);
});
}
});
任何帮助将不胜感激。提前谢谢。
答案 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