【发布时间】:2016-01-25 02:14:10
【问题描述】:
我正在使用带有 Ryan Niemeyer 的插件 jqAutocomplete 的 Knockout 3。我对这个模型有疑问:
var ViewModel = function() {
var self = this;
self.myOptionsObs = ko.observableArray([
{ id: ko.observable(1), name: ko.observable("item 1 o"), description: ko.observable("item label 1 o") },
{ id: ko.observable(2), name: ko.observable("item 2 o"), description: ko.observable("item label 2 o") },
{ id: ko.observable(3), name: ko.observable("item 3 o"), description: ko.observable("item label 3 o") }
]);
self.myValueObs = ko.observable();
};
ko.applyBindings(new ViewModel());
<input data-bind="jqAuto: { source: myOptionsObs, value: myValueObs, inputProp: 'name', template: 'itemTmpl' }" />
如你所见,有一个observable数组,每个元素也是一个observable。
自动完成 效果不佳。正如您在Fiddle 中看到的,左列 有一个可观察的数组,但它的元素不可观察。如果您单击左侧框并写一些东西,则会出现一个选项列表。
但是在右列,你有相同的,但元素都是可观察的。如果你点击右边的框并写一些东西,当列表出现时,如果你上下移动光标,你会看到'name'行被删除并用零填充。
我必须在我的数据绑定属性中更改什么?
这个问题与this question有关。
我不得不说这个solution 对我来说没问题。但更新后的插件没有。
谢谢!!
【问题讨论】:
-
我想添加一个标签 'knockout-jqAutocomplete' 来纪念 Ryan Niemeyer,但我没有足够的声誉来创建一个。对不起,瑞恩。但是非常感谢您的绑定,太好了!!
标签: jquery-ui knockout.js autocomplete