使用Knockout将optionsText绑定到包含对象数组的属性?

时间:2014-12-15 20:22:01

标签: javascript html ajax knockout.js

我在Knockout.js中的observableArray内存储了一个对象数组,我试图将对象的一个​​属性绑定到optionsText绑定select但是,如果没有显示选项,则不会显示这些选项。

observableArray最初是空白的,并由AJAX请求填充:

self.currentPeople = ko.observableArray([]);

根据AJAX请求,我可console.log这个并收到以下内容:

console.log(self.currentPeople);
// Produces [Object, Object] where each of the objects have properties of `personId` and `personName`

然而,我的选择下拉列表仍未填充:

<select class="large-3" data-bind="options: currentPeople, optionsText: 'personName', optionsValue: 'personId', optionsCaption: 'All',  value: currentPerson"></select>

只有&#39;全部&#39;出现。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

如果console.log(self.currentPeople)显示您的对象数组,则表示您使用赋值(错误地)填充它而不是将其作为函数调用。

将其填充为:

self.currentPeople(newData);